apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: avro-deserialize-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Avro Deserialize Action" description: "Deserialize payload to Avro." type: object properties: schema: title: Schema description: The Avro schema to use during serialization (as single-line, using JSON format) type: string example: '{"type": "record", "namespace": "com.example", "name": "FullName", "fields": [{"name": "first", "type": "string"},{"name": "last", "type": "string"}]}' validate: title: Validate description: Indicates if the content must be validated against the schema type: boolean default: true dependencies: - "camel:kamelet" - "camel:core" - "camel:jackson-avro" template: beans: - name: schemaResolver type: "#class:org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver" properties: validate: "{{validate}}" schema: "{{schema:}}" from: uri: kamelet:source steps: - unmarshal: avro: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode schemaResolver: "#bean:{{schemaResolver}}" - removeHeader: name: "Content-Type" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: avro-serialize-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Avro Serialize Action" description: "Serialize payload to Avro." type: object properties: schema: title: Schema description: The Avro schema to use during serialization (as single-line, using JSON format) type: string example: '{"type": "record", "namespace": "com.example", "name": "FullName", "fields": [{"name": "first", "type": "string"},{"name": "last", "type": "string"}]}' validate: title: Validate description: Indicates if the content must be validated against the schema type: boolean default: true dependencies: - "camel:kamelet" - "camel:core" - "camel:jackson-avro" template: beans: - name: schemaResolver type: "#class:org.apache.camel.component.jackson.avro.transform.AvroSchemaResolver" properties: validate: "{{validate}}" schema: "{{schema:}}" from: uri: kamelet:source steps: - marshal: avro: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode schemaResolver: "#bean:{{schemaResolver}}" - setHeader: name: "Content-Type" constant: "application/avro" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-bedrock-agent-runtime-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgZGF0YS1uYW1lPSJMYXllciAxIiBpZD0iTGF5ZXJfMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQzMC40MiwxOTYuMzJjOC0xMS4zOSwyMS4xNS0zOC4zMywwLTcyLjEzYTUyLjc5LDUyLjc5LDAsMCwwLTE3LjA2LTE3LjMxYy0xLjUzLTgtNy41NC0yNy4yNi0zMS40Mi00My45MUMzNTksNDcsMzI1LjUyLDQ5LjUzLDMxOS40NCw1MC4xNmE2NC4yNyw2NC4yNywwLDAsMC0xNi4wNy0yLjk0Yy0xNy4xNy0uODEtMzAuMzcsMy44OS0zOS43OCwxNC4wNUE0Ni4zLDQ2LjMsMCwwLDAsMjU2LDcyLjg5YTQ2LjA2LDQ2LjA2LDAsMCwwLTcuNi0xMS42MmMtOS40LTEwLjE2LTIyLjg2LTE0Ljg2LTM5Ljc2LTE0LjA1YTY0LjczLDY0LjczLDAsMCwwLTE2LjA3LDIuOTRDMTg2LjUyLDQ5LjUzLDE1Myw0NywxMzAsNjNjLTIzLjksMTYuNjYtMjkuOTEsMzYtMzEuNDMsNDMuOTJhNTIuOSw1Mi45LDAsMCwwLTE3LDE3LjNjLTIxLjEzLDMzLjgtNy45NCw2MC43NCwwLDcyLjE0LTkuNzUsOC4zNC0yNy44OCwyNy44OC0yMy4wNiw1NC42NiwzLjI4LDE4LjIsMTMuODQsMzIuMTksMjguNjgsMzguNjIsNS4yNiw0LjI3LDMzLjczLDI0LjYxLDk2LjM4LDI1LjIzdjUwLjM3SDE2MS4zN2EzMy4yMiwzMy4yMiwwLDEsMCwwLDEzLjM3aDI4LjkxQTYuNjgsNi42OCwwLDAsMCwxOTcsMzcxLjlWMzE0LjcyaC4yOGMuMjQsMCwuNDQtLjEzLjY3LS4xNmE1MSw1MSwwLDAsMCw2LjM0LjcyYzIyLjU0LDAsMzYuMjYtNi44Miw0NC43LTE2Ljg2VjM5OS4yM2EzMy4yMiwzMy4yMiwwLDEsMCwxMy4zOC0uMTVWMjk3LjQ3YzguMzYsMTAuNTUsMjIuMTksMTcuODEsNDUuNDEsMTcuODFhNTEuMyw1MS4zLDAsMCwwLDYuMzYtLjcyYy4yMywwLC40My4xNS42Ny4xNkgzMTVWMzcxLjlhNi42OCw2LjY4LDAsMCwwLDYuNjksNi42OGgyOC45YTMzLjIyLDMzLjIyLDAsMSwwLDAtMTMuMzdIMzI4LjQxVjMxNC44NGM2Mi42MS0uNjIsOTEuMDgtMjAuOTQsOTYuMzctMjUuMjIsMTQuODUtNi40MiwyNS40LTIwLjQzLDI4LjY4LTM4LjYzQzQ1OC4zLDIyNC4yMSw0NDAuMTcsMjA0LjY3LDQzMC40MiwxOTYuMzJaTTEyOC44MywzOTEuNzRhMTkuODUsMTkuODUsMCwxLDEsMTkuODQtMTkuODRBMTkuODcsMTkuODcsMCwwLDEsMTI4LjgzLDM5MS43NFptMjU0LjMzLTM5LjY5YTE5Ljg1LDE5Ljg1LDAsMSwxLTE5Ljg0LDE5Ljg1QTE5Ljg2LDE5Ljg2LDAsMCwxLDM4My4xNiwzNTIuMDVabTE0LjE4LTI1MS41OWMtMTUuMzItMy40Mi0zMS41OC0uNS00NC4wOSw0LC4yOS0xMC43OS0xLjI5LTI2Ljc5LTExLTM5LjI4LS41Mi0uNjctMS4yMS0xLjE1LTEuNzYtMS43OCwxMC43Ny44OCwyMy44LDMuNTIsMzMuODQsMTAuNTJDMzg3LjYxLDgzLjIxLDM5NC4wOCw5My4xMSwzOTcuMzQsMTAwLjQ2Wk0xMzcuNjksNzMuOTRjMTAtNywyMy05LjYsMzMuODItMTAuNDktLjU1LjYyLTEuMjMsMS4wOS0xLjc0LDEuNzYtOS43MiwxMi40OS0xMS4zLDI4LjQ4LTExLDM5LjI3LTEyLjUtNC41Mi0yOC43Ny03LjQzLTQ0LjExLTRDMTE3LjkxLDkzLjEyLDEyNC4zOCw4My4yMiwxMzcuNjksNzMuOTRabTY2LjU2LDIyOGMtMTEuOTIsMC0yMC4yNC00LjQ1LTIzLjQyLTEyLjUzLTMuMDgtNy44My0uNzktMTgsNS4zMy0yMy43MSw1LjQxLTUsMTIuNjEtNS42MSwyMC44LTEuNjhhNi42OSw2LjY5LDAsMCwwLDUuOC0xMi4wNiwzNy4zNSwzNy4zNSwwLDAsMC0xMy40Mi0zLjQ2LDM2LjUxLDM2LjUxLDAsMCwwLDQuMTItMTEuNDEsNi42OCw2LjY4LDAsMSwwLTEzLjIyLTJjLTEuMDksNy4xOS05LDE2LjcyLTExLjkyLDE5Ljc5LS4wNi4wNy0uMDguMTYtLjE1LjI0LS4zNS4zLS43OC40NC0xLjEzLjc2LTEwLjA4LDkuMzctMTMuNzEsMjUuNTItOC42NiwzOC40YTMxLDMxLDAsMCwwLDQuMTIsNi44N2MtMjMuNjUtMS4yOC00MS4yOS01LjU5LTUzLjY5LTEwLjFhNDMsNDMsMCwwLDAsMTguNzEtMTIuMzgsNi42OCw2LjY4LDAsMCwwLTEwLTguODQsMjkuOTQsMjkuOTQsMCwwLDEtMzAuODMsOWMtMTIuODctMy41OC0yMi4xOS0xNC44OS0yNS0zMC4yNC0zLjY2LTIwLjMsMTEuMzgtMzUuOTQsMTguOTItNDIuMzYsMy45MywzLjQyLDEwLDguMDcsMTYuNzUsMTAuNjZhNi44NSw2Ljg1LDAsMCwwLDIuNDEuNDUsNi42OSw2LjY5LDAsMCwwLDIuNC0xMi45M0MxMDMuODMsMjAxLjIyLDk2LDE5Myw5NS45LDE5Mi44OHMtLjA4LDAtLjExLS4wOGEuNDcuNDcsMCwwLDAtLjA2LS4wOWMtMS0xLTI1LjEtMjUuNzktMi44My02MS40MywyMS45Mi0zNS4wOCw2OC41Mi0xMS4yMyw3MC41MS0xMC4yYTYuNjksNi42OSwwLDAsMCw5LjY2LTcuMjVjMC0uMjUtNC44Ni0yNC44NSw3LjI1LTQwLjQyLDYuMTMtNy44NywxNS44Ny0xMi4xOCwyOS0xMi44MywxMi42NC0uNywyMi42NSwyLjY0LDI5LjI4LDkuNzRDMjQ3LDc5LjM4LDI0OSw5MywyNDkuMjUsMTAyLjE3YTYuODgsNi44OCwwLDAsMC0uMywxLjVjMCwxMi4xMi0zLjM4LDIwLjQ3LTkuNzcsMjQuMTUtNS43MiwzLjMyLTEzLjMxLDIuNDktMTcuNTQsMC02LjU3LTMuOC0xMC4zMi03Ljg0LTEwLjg0LTExLjY3LS41NS00LjExLDIuNzEtNy41OSwyLjg4LTcuNzZhNi42OSw2LjY5LDAsMCwwLTkuMzYtOS41NmMtLjg0LjgyLTguMTEsOC4yMy02LjgxLDE4Ljg3LDEsOC4yOSw2Ljg5LDE1LjU5LDE3LjQzLDIxLjY5YTMyLDMyLDAsMCwwLDE1LjY1LDMuOTQsMzAuNDYsMzAuNDYsMCwwLDAsMTUuMjgtNCwyNy44MiwyNy44MiwwLDAsMCwzLjA4LTIuMDh2NjMuMWE1My43NCw1My43NCwwLDAsMC00LjcxLTQuNzJjLTE0LjItMTIuMjUtMzQuNjYtMTcuNDQtNjEtMTUuNGE1Mi40OSw1Mi40OSwwLDAsMC0yMy41OCw3LjI5LDYuNzEsNi43MSwwLDAsMC0xLjEtLjIzYy0uMTcsMC0xNi41Ni0uNDEtMjYuOC0xNy40My01LjQyLTksLjMtMjIsLjM1LTIyLjE0QTYuNjksNi42OSwwLDAsMCwxMjAsMTQyLjI2Yy0uMzUuNzktOC43MywxOS41MS4zNSwzNC41OGE0OC4zNyw0OC4zNywwLDAsMCwyNywyMS43MWMtMTEuMTEsMTQtMTQsMzIuNzctMTMuMzUsNDQuODlhNi42OSw2LjY5LDAsMCwwLDYuNjcsNi4zMUgxNDFhNi42OCw2LjY4LDAsMCwwLDYuMzEtNy4wNWMtLjExLTEuODctMi4xLTQ2LDM3LTQ5LjA1QzI0NC4yMiwxODksMjQ4Ljc0LDIyNy45MiwyNDksMjMwLjN2MTAuMTVDMjQ5LDI3Ny41NywyNDUuODQsMzAxLjkxLDIwNC4yNSwzMDEuOTFabTcxLjYsMTI5Ljc0QTE5Ljg1LDE5Ljg1LDAsMSwxLDI1Niw0MTEuODEsMTkuODcsMTkuODcsMCwwLDEsMjc1Ljg1LDQzMS42NVptMTY0LjQ1LTE4M2MtMi43NiwxNS4zNC0xMi4wOSwyNi42NC0yNC45NSwzMC4yM2EzMCwzMCwwLDAsMS0zMC44NC05LDYuNjgsNi42OCwwLDAsMC0xMCw4Ljg0QTQzLjE3LDQzLjE3LDAsMCwwLDM5My4xNiwyOTFjLTEyLjQxLDQuNS0zMC4wNSw4LjgxLTUzLjY2LDEwLjA5YTMwLjY3LDMwLjY3LDAsMCwwLDQuMTEtNi44NmM1LjA2LTEyLjg4LDEuNDMtMjktOC42Ni0zOC40LS4zNC0uMzItLjc3LS40Ni0xLjEyLS43Ni0uMDctLjA4LS4wOS0uMTctLjE2LS4yNC0yLjk1LTMuMDctMTAuODMtMTIuNi0xMS45MS0xOS43OWE2Ljc5LDYuNzksMCwwLDAtNy42LTUuNjMsNi42OSw2LjY5LDAsMCwwLTUuNjIsNy42MSwzNi40OSwzNi40OSwwLDAsMCw0LjExLDExLjQxLDM3LjEsMzcuMSwwLDAsMC0xMy40MSwzLjQ2QTYuNjksNi42OSwwLDAsMCwzMDUsMjY0YzguMTgtMy45MywxNS4zOS0zLjM2LDIwLjc5LDEuNjgsNi4xMyw1LjY4LDguNDIsMTUuODgsNS4zMywyMy43MS0zLjE3LDguMDgtMTEuNDksMTIuNTMtMjMuNDIsMTIuNTMtNDEuNTcsMC00NC42OC0yNC4zNC00NC42OC02MS40NnYtMTAuMWE0MC4xLDQwLjEsMCwwLDEsMTMuNDctMjQuNTJjMTEuNC05Ljg0LDI4LjU3LTEzLjkzLDUxLjE0LTEyLjE5LDM4LjkzLDMsMzcuMSw0Ny4xOSwzNyw0OS4wN2E2LjY4LDYuNjgsMCwwLDAsNi4zMiw3bC4zNywwYTYuNjgsNi42OCwwLDAsMCw2LjY2LTYuMzFjLjY3LTEyLjEyLTIuMjQtMzAuOTEtMTMuMzYtNDQuODlhNDguMzUsNDguMzUsMCwwLDAsMjctMjEuNzFjOS4wOC0xNS4wNy43LTMzLjc5LjM1LTM0LjU4YTYuNjksNi42OSwwLDAsMC0xMi4xNyw1LjU2Yy4wNi4xMyw1Ljc2LDEzLjE3LjM2LDIyLjEyLTEwLjEyLDE2Ljc3LTI2LjE3LDE3LjQxLTI2LjgxLDE3LjQzYTUuNzYsNS43NiwwLDAsMC0xLjExLjI0LDUyLjM2LDUyLjM2LDAsMCwwLTIzLjU4LTcuM2MtMjYuMjgtMi4wNS00Ni43NCwzLjE1LTYwLjk0LDE1LjRhNTIuNzYsNTIuNzYsMCwwLDAtNC43Myw0LjczbDAtNjMuMTRhMzAuMSwzMC4xLDAsMCwwLDMuMTIsMi4xMSwzMC40NiwzMC40NiwwLDAsMCwxNS4yOCw0LDMyLjA4LDMyLjA4LDAsMCwwLDE1LjY2LTMuOTRjMTAuNTMtNi4xLDE2LjM4LTEzLjQsMTcuNDItMjEuNjksMS4zLTEwLjY0LTYtMTgtNi44MS0xOC44N2E2LjY5LDYuNjksMCwwLDAtOS4zMyw5LjZzMy4zNiwzLjU0LDIuODUsNy42M2MtLjQ3LDMuODYtNC4yMiw3LjkyLTEwLjgzLDExLjc2LTQuMjUsMi40NS0xMS44MywzLjI3LTE3LjU1LDAtNi4zOS0zLjY4LTkuNzctMTItOS43Ny0yNC4xNWE2LjQ0LDYuNDQsMCwwLDAtLjMyLTEuNTdjLjI4LTksMi4yMy0yMi42NywxMC43LTMxLjc3LDYuNi03LjExLDE2LjYtMTAuNDUsMjkuMjctOS43NSwxMy4wOC42NCwyMi44MSw1LDI4LjkyLDEyLjc4LDEyLjA5LDE1LjQ3LDcuMzYsNDAuMjMsNy4zMSw0MC40OGE2LjcsNi43LDAsMCwwLDkuNjYsNy4yNGMyLTEsNDguNTctMjQuOTIsNzAuNTEsMTAuMiwyMi4yNiwzNS42NC0xLjgsNjAuMzktMi44Miw2MS40LDAsMCwwLC4wOS0uMDguMTJzLS4wNywwLS4xLjA4Yy0yLjE3LDIuMzEtOS4zLDguODYtMTYuMjgsMTEuNTVhNi42OSw2LjY5LDAsMCwwLDIuNCwxMi45Myw2Ljg1LDYuODUsMCwwLDAsMi40MS0uNDVjNi43Mi0yLjU5LDEyLjgyLTcuMjQsMTYuNzQtMTAuNjZDNDI4LjkyLDIxMi42Nyw0NDQsMjI4LjMxLDQ0MC4zLDI0OC42MloiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Bedrock" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS Bedrock Agent Runtime Sink" description: Send data for invoking a knowledge base from AWS Bedrock. required: - modelId - knowledgeBaseId - region type: object properties: modelId: title: Model Id description: The model Id to be used to generate responses. type: string enum: ["anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1", "anthropic.claude-3-sonnet-20240229-v1:0"] knowledgeBaseId: title: Knowledge Base Id description: The Knowledge Base Id to be used to retrieve and generate responses. type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string enum: ["us-east-1", "us-west-1"] useDefaultCredentialsProvider: title: Default Credentials Provider description: If true, the Bedrock client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Bedrock client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Bedrock client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Bedrock. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:core" - "camel:aws-bedrock" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "aws-bedrock-agent-runtime:bedrock-knowledge" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" modelId: "{{modelId}}" knowledgeBaseId: "{{knowledgeBaseId}}" operation: retrieveAndGenerate useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-bedrock-text-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgZGF0YS1uYW1lPSJMYXllciAxIiBpZD0iTGF5ZXJfMSIgdmlld0JveD0iMCAwIDUxMiA1MTIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTQzMC40MiwxOTYuMzJjOC0xMS4zOSwyMS4xNS0zOC4zMywwLTcyLjEzYTUyLjc5LDUyLjc5LDAsMCwwLTE3LjA2LTE3LjMxYy0xLjUzLTgtNy41NC0yNy4yNi0zMS40Mi00My45MUMzNTksNDcsMzI1LjUyLDQ5LjUzLDMxOS40NCw1MC4xNmE2NC4yNyw2NC4yNywwLDAsMC0xNi4wNy0yLjk0Yy0xNy4xNy0uODEtMzAuMzcsMy44OS0zOS43OCwxNC4wNUE0Ni4zLDQ2LjMsMCwwLDAsMjU2LDcyLjg5YTQ2LjA2LDQ2LjA2LDAsMCwwLTcuNi0xMS42MmMtOS40LTEwLjE2LTIyLjg2LTE0Ljg2LTM5Ljc2LTE0LjA1YTY0LjczLDY0LjczLDAsMCwwLTE2LjA3LDIuOTRDMTg2LjUyLDQ5LjUzLDE1Myw0NywxMzAsNjNjLTIzLjksMTYuNjYtMjkuOTEsMzYtMzEuNDMsNDMuOTJhNTIuOSw1Mi45LDAsMCwwLTE3LDE3LjNjLTIxLjEzLDMzLjgtNy45NCw2MC43NCwwLDcyLjE0LTkuNzUsOC4zNC0yNy44OCwyNy44OC0yMy4wNiw1NC42NiwzLjI4LDE4LjIsMTMuODQsMzIuMTksMjguNjgsMzguNjIsNS4yNiw0LjI3LDMzLjczLDI0LjYxLDk2LjM4LDI1LjIzdjUwLjM3SDE2MS4zN2EzMy4yMiwzMy4yMiwwLDEsMCwwLDEzLjM3aDI4LjkxQTYuNjgsNi42OCwwLDAsMCwxOTcsMzcxLjlWMzE0LjcyaC4yOGMuMjQsMCwuNDQtLjEzLjY3LS4xNmE1MSw1MSwwLDAsMCw2LjM0LjcyYzIyLjU0LDAsMzYuMjYtNi44Miw0NC43LTE2Ljg2VjM5OS4yM2EzMy4yMiwzMy4yMiwwLDEsMCwxMy4zOC0uMTVWMjk3LjQ3YzguMzYsMTAuNTUsMjIuMTksMTcuODEsNDUuNDEsMTcuODFhNTEuMyw1MS4zLDAsMCwwLDYuMzYtLjcyYy4yMywwLC40My4xNS42Ny4xNkgzMTVWMzcxLjlhNi42OCw2LjY4LDAsMCwwLDYuNjksNi42OGgyOC45YTMzLjIyLDMzLjIyLDAsMSwwLDAtMTMuMzdIMzI4LjQxVjMxNC44NGM2Mi42MS0uNjIsOTEuMDgtMjAuOTQsOTYuMzctMjUuMjIsMTQuODUtNi40MiwyNS40LTIwLjQzLDI4LjY4LTM4LjYzQzQ1OC4zLDIyNC4yMSw0NDAuMTcsMjA0LjY3LDQzMC40MiwxOTYuMzJaTTEyOC44MywzOTEuNzRhMTkuODUsMTkuODUsMCwxLDEsMTkuODQtMTkuODRBMTkuODcsMTkuODcsMCwwLDEsMTI4LjgzLDM5MS43NFptMjU0LjMzLTM5LjY5YTE5Ljg1LDE5Ljg1LDAsMSwxLTE5Ljg0LDE5Ljg1QTE5Ljg2LDE5Ljg2LDAsMCwxLDM4My4xNiwzNTIuMDVabTE0LjE4LTI1MS41OWMtMTUuMzItMy40Mi0zMS41OC0uNS00NC4wOSw0LC4yOS0xMC43OS0xLjI5LTI2Ljc5LTExLTM5LjI4LS41Mi0uNjctMS4yMS0xLjE1LTEuNzYtMS43OCwxMC43Ny44OCwyMy44LDMuNTIsMzMuODQsMTAuNTJDMzg3LjYxLDgzLjIxLDM5NC4wOCw5My4xMSwzOTcuMzQsMTAwLjQ2Wk0xMzcuNjksNzMuOTRjMTAtNywyMy05LjYsMzMuODItMTAuNDktLjU1LjYyLTEuMjMsMS4wOS0xLjc0LDEuNzYtOS43MiwxMi40OS0xMS4zLDI4LjQ4LTExLDM5LjI3LTEyLjUtNC41Mi0yOC43Ny03LjQzLTQ0LjExLTRDMTE3LjkxLDkzLjEyLDEyNC4zOCw4My4yMiwxMzcuNjksNzMuOTRabTY2LjU2LDIyOGMtMTEuOTIsMC0yMC4yNC00LjQ1LTIzLjQyLTEyLjUzLTMuMDgtNy44My0uNzktMTgsNS4zMy0yMy43MSw1LjQxLTUsMTIuNjEtNS42MSwyMC44LTEuNjhhNi42OSw2LjY5LDAsMCwwLDUuOC0xMi4wNiwzNy4zNSwzNy4zNSwwLDAsMC0xMy40Mi0zLjQ2LDM2LjUxLDM2LjUxLDAsMCwwLDQuMTItMTEuNDEsNi42OCw2LjY4LDAsMSwwLTEzLjIyLTJjLTEuMDksNy4xOS05LDE2LjcyLTExLjkyLDE5Ljc5LS4wNi4wNy0uMDguMTYtLjE1LjI0LS4zNS4zLS43OC40NC0xLjEzLjc2LTEwLjA4LDkuMzctMTMuNzEsMjUuNTItOC42NiwzOC40YTMxLDMxLDAsMCwwLDQuMTIsNi44N2MtMjMuNjUtMS4yOC00MS4yOS01LjU5LTUzLjY5LTEwLjFhNDMsNDMsMCwwLDAsMTguNzEtMTIuMzgsNi42OCw2LjY4LDAsMCwwLTEwLTguODQsMjkuOTQsMjkuOTQsMCwwLDEtMzAuODMsOWMtMTIuODctMy41OC0yMi4xOS0xNC44OS0yNS0zMC4yNC0zLjY2LTIwLjMsMTEuMzgtMzUuOTQsMTguOTItNDIuMzYsMy45MywzLjQyLDEwLDguMDcsMTYuNzUsMTAuNjZhNi44NSw2Ljg1LDAsMCwwLDIuNDEuNDUsNi42OSw2LjY5LDAsMCwwLDIuNC0xMi45M0MxMDMuODMsMjAxLjIyLDk2LDE5Myw5NS45LDE5Mi44OHMtLjA4LDAtLjExLS4wOGEuNDcuNDcsMCwwLDAtLjA2LS4wOWMtMS0xLTI1LjEtMjUuNzktMi44My02MS40MywyMS45Mi0zNS4wOCw2OC41Mi0xMS4yMyw3MC41MS0xMC4yYTYuNjksNi42OSwwLDAsMCw5LjY2LTcuMjVjMC0uMjUtNC44Ni0yNC44NSw3LjI1LTQwLjQyLDYuMTMtNy44NywxNS44Ny0xMi4xOCwyOS0xMi44MywxMi42NC0uNywyMi42NSwyLjY0LDI5LjI4LDkuNzRDMjQ3LDc5LjM4LDI0OSw5MywyNDkuMjUsMTAyLjE3YTYuODgsNi44OCwwLDAsMC0uMywxLjVjMCwxMi4xMi0zLjM4LDIwLjQ3LTkuNzcsMjQuMTUtNS43MiwzLjMyLTEzLjMxLDIuNDktMTcuNTQsMC02LjU3LTMuOC0xMC4zMi03Ljg0LTEwLjg0LTExLjY3LS41NS00LjExLDIuNzEtNy41OSwyLjg4LTcuNzZhNi42OSw2LjY5LDAsMCwwLTkuMzYtOS41NmMtLjg0LjgyLTguMTEsOC4yMy02LjgxLDE4Ljg3LDEsOC4yOSw2Ljg5LDE1LjU5LDE3LjQzLDIxLjY5YTMyLDMyLDAsMCwwLDE1LjY1LDMuOTQsMzAuNDYsMzAuNDYsMCwwLDAsMTUuMjgtNCwyNy44MiwyNy44MiwwLDAsMCwzLjA4LTIuMDh2NjMuMWE1My43NCw1My43NCwwLDAsMC00LjcxLTQuNzJjLTE0LjItMTIuMjUtMzQuNjYtMTcuNDQtNjEtMTUuNGE1Mi40OSw1Mi40OSwwLDAsMC0yMy41OCw3LjI5LDYuNzEsNi43MSwwLDAsMC0xLjEtLjIzYy0uMTcsMC0xNi41Ni0uNDEtMjYuOC0xNy40My01LjQyLTksLjMtMjIsLjM1LTIyLjE0QTYuNjksNi42OSwwLDAsMCwxMjAsMTQyLjI2Yy0uMzUuNzktOC43MywxOS41MS4zNSwzNC41OGE0OC4zNyw0OC4zNywwLDAsMCwyNywyMS43MWMtMTEuMTEsMTQtMTQsMzIuNzctMTMuMzUsNDQuODlhNi42OSw2LjY5LDAsMCwwLDYuNjcsNi4zMUgxNDFhNi42OCw2LjY4LDAsMCwwLDYuMzEtNy4wNWMtLjExLTEuODctMi4xLTQ2LDM3LTQ5LjA1QzI0NC4yMiwxODksMjQ4Ljc0LDIyNy45MiwyNDksMjMwLjN2MTAuMTVDMjQ5LDI3Ny41NywyNDUuODQsMzAxLjkxLDIwNC4yNSwzMDEuOTFabTcxLjYsMTI5Ljc0QTE5Ljg1LDE5Ljg1LDAsMSwxLDI1Niw0MTEuODEsMTkuODcsMTkuODcsMCwwLDEsMjc1Ljg1LDQzMS42NVptMTY0LjQ1LTE4M2MtMi43NiwxNS4zNC0xMi4wOSwyNi42NC0yNC45NSwzMC4yM2EzMCwzMCwwLDAsMS0zMC44NC05LDYuNjgsNi42OCwwLDAsMC0xMCw4Ljg0QTQzLjE3LDQzLjE3LDAsMCwwLDM5My4xNiwyOTFjLTEyLjQxLDQuNS0zMC4wNSw4LjgxLTUzLjY2LDEwLjA5YTMwLjY3LDMwLjY3LDAsMCwwLDQuMTEtNi44NmM1LjA2LTEyLjg4LDEuNDMtMjktOC42Ni0zOC40LS4zNC0uMzItLjc3LS40Ni0xLjEyLS43Ni0uMDctLjA4LS4wOS0uMTctLjE2LS4yNC0yLjk1LTMuMDctMTAuODMtMTIuNi0xMS45MS0xOS43OWE2Ljc5LDYuNzksMCwwLDAtNy42LTUuNjMsNi42OSw2LjY5LDAsMCwwLTUuNjIsNy42MSwzNi40OSwzNi40OSwwLDAsMCw0LjExLDExLjQxLDM3LjEsMzcuMSwwLDAsMC0xMy40MSwzLjQ2QTYuNjksNi42OSwwLDAsMCwzMDUsMjY0YzguMTgtMy45MywxNS4zOS0zLjM2LDIwLjc5LDEuNjgsNi4xMyw1LjY4LDguNDIsMTUuODgsNS4zMywyMy43MS0zLjE3LDguMDgtMTEuNDksMTIuNTMtMjMuNDIsMTIuNTMtNDEuNTcsMC00NC42OC0yNC4zNC00NC42OC02MS40NnYtMTAuMWE0MC4xLDQwLjEsMCwwLDEsMTMuNDctMjQuNTJjMTEuNC05Ljg0LDI4LjU3LTEzLjkzLDUxLjE0LTEyLjE5LDM4LjkzLDMsMzcuMSw0Ny4xOSwzNyw0OS4wN2E2LjY4LDYuNjgsMCwwLDAsNi4zMiw3bC4zNywwYTYuNjgsNi42OCwwLDAsMCw2LjY2LTYuMzFjLjY3LTEyLjEyLTIuMjQtMzAuOTEtMTMuMzYtNDQuODlhNDguMzUsNDguMzUsMCwwLDAsMjctMjEuNzFjOS4wOC0xNS4wNy43LTMzLjc5LjM1LTM0LjU4YTYuNjksNi42OSwwLDAsMC0xMi4xNyw1LjU2Yy4wNi4xMyw1Ljc2LDEzLjE3LjM2LDIyLjEyLTEwLjEyLDE2Ljc3LTI2LjE3LDE3LjQxLTI2LjgxLDE3LjQzYTUuNzYsNS43NiwwLDAsMC0xLjExLjI0LDUyLjM2LDUyLjM2LDAsMCwwLTIzLjU4LTcuM2MtMjYuMjgtMi4wNS00Ni43NCwzLjE1LTYwLjk0LDE1LjRhNTIuNzYsNTIuNzYsMCwwLDAtNC43Myw0LjczbDAtNjMuMTRhMzAuMSwzMC4xLDAsMCwwLDMuMTIsMi4xMSwzMC40NiwzMC40NiwwLDAsMCwxNS4yOCw0LDMyLjA4LDMyLjA4LDAsMCwwLDE1LjY2LTMuOTRjMTAuNTMtNi4xLDE2LjM4LTEzLjQsMTcuNDItMjEuNjksMS4zLTEwLjY0LTYtMTgtNi44MS0xOC44N2E2LjY5LDYuNjksMCwwLDAtOS4zMyw5LjZzMy4zNiwzLjU0LDIuODUsNy42M2MtLjQ3LDMuODYtNC4yMiw3LjkyLTEwLjgzLDExLjc2LTQuMjUsMi40NS0xMS44MywzLjI3LTE3LjU1LDAtNi4zOS0zLjY4LTkuNzctMTItOS43Ny0yNC4xNWE2LjQ0LDYuNDQsMCwwLDAtLjMyLTEuNTdjLjI4LTksMi4yMy0yMi42NywxMC43LTMxLjc3LDYuNi03LjExLDE2LjYtMTAuNDUsMjkuMjctOS43NSwxMy4wOC42NCwyMi44MSw1LDI4LjkyLDEyLjc4LDEyLjA5LDE1LjQ3LDcuMzYsNDAuMjMsNy4zMSw0MC40OGE2LjcsNi43LDAsMCwwLDkuNjYsNy4yNGMyLTEsNDguNTctMjQuOTIsNzAuNTEsMTAuMiwyMi4yNiwzNS42NC0xLjgsNjAuMzktMi44Miw2MS40LDAsMCwwLC4wOS0uMDguMTJzLS4wNywwLS4xLjA4Yy0yLjE3LDIuMzEtOS4zLDguODYtMTYuMjgsMTEuNTVhNi42OSw2LjY5LDAsMCwwLDIuNCwxMi45Myw2Ljg1LDYuODUsMCwwLDAsMi40MS0uNDVjNi43Mi0yLjU5LDEyLjgyLTcuMjQsMTYuNzQtMTAuNjZDNDI4LjkyLDIxMi42Nyw0NDQsMjI4LjMxLDQ0MC4zLDI0OC42MloiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Bedrock" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS Bedrock Text Sink" description: Send data for invoking a text model of Amazon Bedrock. required: - modelId - region type: object properties: modelId: title: Model Id description: The model Id to be used. type: string enum: ["amazon.titan-text-express-v1", "amazon.titan-text-lite-v1", "ai21.j2-ultra-v1", "ai21.j2-mid-v1", "anthropic.claude-instant-v1", "anthropic.claude-v2", "anthropic.claude-v2:1", "anthropic.claude-3-sonnet-20240229-v1:0"] accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string enum: ["us-east-1", "us-west-1", "ap-southeast-1", "ap-northeast-1", "eu-central-1"] useDefaultCredentialsProvider: title: Default Credentials Provider description: If true, the Bedrock client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Bedrock client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Bedrock client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Bedrock. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:core" - "camel:aws-bedrock" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - setHeader: name: "CamelAwsBedrockContentType" constant: "application/json" - setHeader: name: "CamelAwsBedrockAcceptContentType" constant: "application/json" - to: uri: "aws-bedrock:bedrock-text" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" modelId: "{{modelId}}" operation: invokeTextModel useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-cloudtrail-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzQuMzc1IDg1IiBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIj48dXNlIHhsaW5rOmhyZWY9IiNBIiB4PSIyLjE4OCIgeT0iMi41Ii8+PHN5bWJvbCBpZD0iQSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZT0ibm9uZSI+PHBhdGggZD0iTTkuOTY2IDM1LjQ5M2wtMi4yODguMTc2TDAgMzUuMzc2bDIuMTIzLTEwLjAzOSA3Ljg0MyAxMC4xNTZ6IiBmaWxsPSIjM2M0OTI5Ii8+PHBhdGggZD0iTTkuOTY2IDQ0LjgzbC0yLjI4OC0uMTc2TDAgNDQuOTQ3bDIuMTIzIDEwLjAzOUw5Ljk2NiA0NC44M3oiIGZpbGw9IiNiN2NhOWQiLz48cGF0aCBkPSJNMi4xMjMgNDUuMTQxTDAgNDQuOTQ2djkuNDM0bDIuMTIzLjYwNXYtOS44NDR6IiBmaWxsPSIjNGI2MTJjIi8+PHBhdGggZD0iTTkuOTY2IDU0LjAxOWwtNy44NDMuOTY2di05LjgzNGw3Ljg0My0uMzIydjkuMTl6IiBmaWxsPSIjNzU5YzNlIi8+PHBhdGggZD0iTTI0LjM0MyA0NS42MDFsLTYuMzA3LS40NTktMTEuMDI4LjUyNyA1LjkwNSAxNy45NjEgMTEuNDMtMTguMDI5eiIgZmlsbD0iI2I3Y2E5ZCIvPjxwYXRoIGQ9Ik0yLjEyMyAzNS4xNzFMMCAzNS4zNzZ2LTkuNDM0bDIuMTIzLS42MDV2OS44MzR6IiBmaWxsPSIjNGI2MTJjIi8+PHBhdGggZD0iTTkuOTY2IDI2LjMwM2wtNy44NDMtLjk2NnY5LjgyNGw3Ljg0My4zMzJ2LTkuMTl6IiBmaWxsPSIjNzU5YzNlIi8+PHBhdGggZD0iTTI0LjM0MyAzNC43MjJsLTYuMzA3LjQ0OS0xMS4wMjgtLjUxNyA1LjkwNS0xNy45MzIgMTEuNDMgMTh6IiBmaWxsPSIjM2M0OTI5Ii8+PHBhdGggZD0iTTcuMDA4IDE4LjYyNGw1LjkwNS0xLjkwMnYxNy4zNjZsLTUuOTA1LjU2NlYxOC42MjR6IiBmaWxsPSIjNGI2MTJjIi8+PHBhdGggZD0iTTI0LjM0NCAxOS4wNzNsLTExLjQzLTIuMzUxdjE3LjM2NmwxMS40My42MzRWMTkuMDczeiIgZmlsbD0iIzc1OWMzZSIvPjxwYXRoIGQ9Ik03LjAwOCA2MS41NjFsNS45MDUgMi4wNjhWNDYuMjM0bC01LjkwNS0uNTY2djE1Ljg5M3oiIGZpbGw9IiM0YjYxMmMiLz48cGF0aCBkPSJNMjQuMzQ0IDYxLjM5NWwtMTEuNDMgMi4yMzRWNDYuMjM0bDExLjQzLS42MzR2MTUuNzk1eiIgZmlsbD0iIzc1OWMzZSIvPjxwYXRoIGQ9Ik0yMC4yIDcyLjk5NUwzNC45ODkgODBsMzQuNjYtNDAtMzQuNjYtNDBMMjAuMiA3LjAwNXY2NS45OXoiIGZpbGw9IiM0YjYxMmMiLz48cGF0aCBkPSJNNzAgNjMuNDM0TDM0Ljk5IDgwVjBMNzAgMTYuNTY2djQ2Ljg2OHoiIGZpbGw9IiM3NTljM2UiLz48L2c+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Cloudtrail" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "AWS Cloudtrail Source" description: Receive data from an AWS Cloudtrail. required: - region type: object properties: accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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 Cloudtrail client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Cloudtrail client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the CloudTrail client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in CloudTrail. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false maxResults: title: Max Results description: Maximum number of records that are fetched in each poll. type: integer default: 1 eventSource: title: Event Source description: Specify an event source to select events. type: string example: secretsmanager.amazonaws.com dataTypes: out: default: text headers: CamelAwsCloudTrailEventId: title: Cloudtrail Event Id description: The event ID of the cloud trail event consumed type: string CamelAwsCloudTrailEventName: title: Cloudtrail Event Name description: The event Name of the cloud trail event consumed type: string CamelAwsCloudTrailEventSource: title: Cloudtrail Event Source description: The event Source of the cloud trail event consumed type: string CamelAwsCloudTrailEventUsername: title: Cloudtrail Event Username description: The associated username of the event of the cloud trail event consumed type: string types: text: format: "text-plain" description: Default text representation of the Cloudtrail Event mediaType: text/plain cloudevents: format: "aws-cloudtrail:application-cloudevents" description: Data type transformer converts AWS Cloudtrail lookup events response to CloudEvent v1_0 data format. The data type sets Camel specific CloudEvent headers with values extracted from AWS Cloudtrail lookup events response. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.aws.cloudtrail.lookupEvents" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Cloudtrail event source name with prefix "aws.cloudtrail.event.source.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. The Cloudtrail Event Id. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:core" - "camel:aws-cloudtrail" - "camel:kamelet" template: from: uri: "aws-cloudtrail:cloudtrail" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" eventSource: "{{?eventSource}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" maxResults: "{{maxResults}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-cloudwatch-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjIwNyIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDI5MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTI1NiAxOTkuMzA1bC0xMjcuOTU3LTE4Ljc5N0wwIDE5OS4zMjlsMTI4LjAxIDQ3LjQzOUwyNTYgMTk5LjMwNSIgZmlsbD0iI0I3Q0E5RCIvPjxwYXRoIGQ9Ik0yNS42MjEgMTk3LjExM2wyMS42MyA2Ljc2MSAxLjk3MS0yLjIzOFY1MC4yODRsLTEuOTcxLTIuNTg1LTIxLjYzIDguMjc0djE0MS4xNCIgZmlsbD0iIzRCNjEyQyIvPjxwYXRoIGQ9Ik0xMjMuODMyIDE5MC40MjNsLTc2LjU4MSAxMy40NTFWNDcuNzAzbDc2LjU4MSAxNy4yMjJ2MTI1LjQ5OCIgZmlsbD0iIzc1OUMzRSIvPjxwYXRoIGQ9Ik04OS42ODYgMjE2Ljg4OWwtMjkuODQ4LTkuMjAxVjE0LjkyOEw4OS42ODYuMDA0bDIuNjEyIDIuODQ1djIxMC44NThsLTIuNjEyIDMuMTgyIiBmaWxsPSIjNEI2MTJDIi8+PHBhdGggZD0iTTE5MS45NjcgMTkyLjg5NEw4OS42ODYgMjE2Ljg4OVYwbDEwMi4yODEgMzkuODY2djE1My4wMjgiIGZpbGw9IiM3NTlDM0UiLz48cGF0aCBkPSJNMTI3Ljk2NSAyNDQuNzE0TDAgMTk5LjMyOXYyNi4zMjRsMTI3Ljk2NSA2My45ODN2LTQ0LjkyMiIgZmlsbD0iIzRCNjEyQyIvPjxwYXRoIGQ9Ik0yNTYgMjI1LjYyMmwtMTI4LjAzNSA2NC4wMTR2LTQ0LjkyMkwyNTYgMTk5LjMwNXYyNi4zMTciIGZpbGw9IiM3NTlDM0UiLz48cGF0aCBkPSJNMjIwLjAzOSAxNTUuNjkyaC0zMS4wMjZsLTg4LjQ0NSA2LjAyNkwxMjggMTY2Ljc3NWw5Mi4wMzktMTEuMDgzIiBmaWxsPSIjQjdDQTlEIi8+PHBhdGggZD0iTTEwMC41NjggMjE5LjkwNmwyNy40MiA4LjIyNi43ODktLjg0OS0uMDIzLTYxLjg0OS0uNzg5LS43NTgtMjcuMzk3LTIuOTU4djU4LjE4OCIgZmlsbD0iIzRCNjEyQyIvPjxwYXRoIGQ9Ik0yMjAuMDM5IDE1NS42OTJsLTkyLjA3NCA4Ljk4LjAyMyA2My40NiA5Mi4wNTEtMjcuNzExdi00NC43MjkiIGZpbGw9IiM3NTlDM0UiLz48L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Cloudwatch" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS CloudWatch Metrics Sink" description: Send data to Amazon CloudWatch metrics. required: - cwNamespace - region type: object properties: cwNamespace: title: Cloud Watch Namespace description: The CloudWatch metric namespace. type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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 Cloudwatch client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Cloudwatch client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Cloudwatch client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Cloudwatch. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:core" - "camel:aws2-cw" - "camel:kamelet" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[metric-name]}" steps: - setHeader: name: CamelAwsCwMetricName simple: "${header[metric-name]}" - simple: "${header[ce-metricname]}" steps: - setHeader: name: CamelAwsCwMetricName simple: "${header[ce-metricname]}" - choice: when: - simple: "${header[metric-value]}" steps: - setHeader: name: CamelAwsCwMetricValue simple: "${header[metric-value]}" - simple: "${header[ce-metricvalue]}" steps: - setHeader: name: CamelAwsCwMetricValue simple: "${header[ce-metricvalue]}" - choice: when: - simple: "${header[metric-unit]}" steps: - setHeader: name: CamelAwsCwMetricUnit simple: "${header[metric-unit]}" - simple: "${header[ce-metricunit]}" steps: - setHeader: name: CamelAwsCwMetricUnit simple: "${header[ce-metricunit]}" - choice: when: - simple: "${header[metric-timestamp]}" steps: - setHeader: name: CamelAwsCwMetricTimestamp simple: "${header[metric-timestamp]}" - simple: "${header[ce-metrictimestamp]}" steps: - setHeader: name: CamelAwsCwMetricTimestamp simple: "${header[ce-metrictimestamp]}" - choice: when: - simple: "${header[metric-dimension-name]}" steps: - setHeader: name: CamelAwsCwMetricDimensionName simple: "${header[metric-dimension-name]}" - simple: "${header[ce-metricdimensionname]}" steps: - setHeader: name: CamelAwsCwMetricDimensionName simple: "${header[ce-metricdimensionname]}" - choice: when: - simple: "${header[metric-dimension-value]}" steps: - setHeader: name: CamelAwsCwMetricDimensionValue simple: "${header[metric-dimension-value]}" - simple: "${header[ce-metricdimensionvalue]}" steps: - setHeader: name: CamelAwsCwMetricDimensionValue simple: "${header[ce-metricdimensionvalue]}" - to: uri: "aws2-cw:{{cwNamespace}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-ddb-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMCIgd2lkdGg9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNNzQuMTc0IDMxLjgwN2w3LjQzNyA1LjM2N3YtNy42MDJsLTcuNDgtOC43NjV2MTAuOTU3bC4wNDMuMDE1eiIvPjxwYXRoIGZpbGw9IiM1Mjk0Q0YiIGQ9Ik01OS44MzggODUuNjY2bDE0LjI5My03LjE0NlYyMC43OTFsLTE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMjA1Qjk4IiBkPSJNMzkuNDk2IDg1LjY2NkwyNS4yMDMgNzguNTJWMjAuNzkxbDE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNMzkuNTA2IDEzLjY2N2gyMC4zMjF2NzEuOTk5SDM5LjUwNnpNNzQuMTMxIDY3LjU2NFY3OC41Mmw3LjQ4LTguNzY0di03LjYwMmwtNy40MzcgNS4zOTd6TTc0LjEzMSA2Mi45MzZsLjA0My0uMDEgNy40MzctNHYtNy42NDlsLTcuNDguNjg4ek03NC4xNzQgMzYuNDI5bC0uMDQzLS4wMVY0Ny4zNWw3LjQ4LjY5OXYtNy42NDV6Ii8+PHBhdGggZmlsbD0iIzFBNDc2RiIgZD0iTTgxLjYxMSA0OC4wNDlsLTcuNDgtLjY5OS0xNC4zMDMtLjU3MkgzOS41MDZsLTE0LjMwMy41NzJWMzYuNDQzbC0uMDE1LjAwOC4wMTUtLjAzMiAxNC4zMDMtMy4zMTRINTkuODI4bDE0LjMwMyAzLjMxNCA1LjI1OCAyLjc5NXYtMS43OTdsMi4yMjItLjI0My03LjQ4LTUuNDEtMTQuMzAzLTQuNDMySDM5LjUwNmwtMTQuMzAzIDQuNDMyVjIwLjgwN2wtNy40OCA4Ljc2M3Y3LjY1M2wuMDU4LS4wNDIgMi4xNjQuMjM2djEuODM0bC0yLjIyMiAxLjE4OXY3LjYxNWwuMDU4LS4wMDYgMi4xNjQuMDMydjMuMTk2bC0xLjg2Ny4wMjgtLjM1NS0uMDM0djcuNjE4bDIuMjIyIDEuMTk1djEuODU1bC0yLjEyOS4yMzUtLjA5My0uMDd2Ny42NTJsNy40OCA4Ljc2NFY2Ny41NjRsMTQuMzAzIDQuNDMySDU5LjgyOGwxNC4zNDUtNC40NDUgNy40MzgtNS4zNjctMi4yMjItLjI0NXYtMS44MThsLTUuMjE2IDIuODA1LTE0LjM0NSAzLjI5NXYuMDA0SDM5LjUwNnYtLjAwNGwtMTQuMzQ4LTMuMjk1LS4wMjUtLjA1MS4wNy4wMzdWNTEuOTY1bDE0LjMwMy41N3YuMDE0SDU5LjgyOHYtLjAxNGwxNC4zMDMtLjU3IDcuNDgtLjY1Ni0yLjIyMi0uMDMydi0zLjE5NnoiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" 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 Amazon DynamoDB. The sent data inserts, updates, or deletes an item on the specified AWS DynamoDB table. 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:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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." type: string enum: ["PutItem", "UpdateItem", "DeleteItem"] default: PutItem example: PutItem 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 default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the DynamoDB client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the DynamoDB client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in DynamoDB. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dataTypes: in: default: json types: json: format: "aws2-ddb:application-json" description: Json representation of a DDB operation. The input type supports the operations PutItem, UpdateItem, DeleteItem. 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 that get updated on the item. headers: CamelAwsDdbOperation: title: Operation description: "The operation to perform. Overwrites the operation given in the Json body. One of PutItem, UpdateItem, DeleteItem." default: PutItem type: string CamelAwsDdbReturnValues: title: Return Values description: Use this parameter if you want to get the attribute name-value pairs before or after they are modified. Possible values are NONE, ALL_OLD, UPDATED_OLD, ALL_NEW, UPDATED_NEW. type: string mediaType: application/json schema: type: object required: [ "key" ] properties: operation: type: string description: The operator to perform. One of PutItem, UpdateItem, DeleteItem key: type: object description: The primary key specifies the selection criteria for the query. item: type: object description: Attribute value map specifies all attributes to change with the given operation. dependencies: - "camel:core" - "camel:jackson" - "camel:aws2-ddb" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - setProperty: name: operation constant: "{{operation}}" - transform: toType: "aws2-ddb:application-json" - to: uri: "aws2-ddb:{{table}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" operation: "{{operation}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-ddb-streams-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjEwMCIgd2lkdGg9IjEwMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNNzQuMTc0IDMxLjgwN2w3LjQzNyA1LjM2N3YtNy42MDJsLTcuNDgtOC43NjV2MTAuOTU3bC4wNDMuMDE1eiIvPjxwYXRoIGZpbGw9IiM1Mjk0Q0YiIGQ9Ik01OS44MzggODUuNjY2bDE0LjI5My03LjE0NlYyMC43OTFsLTE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMjA1Qjk4IiBkPSJNMzkuNDk2IDg1LjY2NkwyNS4yMDMgNzguNTJWMjAuNzkxbDE0LjMwMy03LjEyNHoiLz48cGF0aCBmaWxsPSIjMkQ3MkI4IiBkPSJNMzkuNTA2IDEzLjY2N2gyMC4zMjF2NzEuOTk5SDM5LjUwNnpNNzQuMTMxIDY3LjU2NFY3OC41Mmw3LjQ4LTguNzY0di03LjYwMmwtNy40MzcgNS4zOTd6TTc0LjEzMSA2Mi45MzZsLjA0My0uMDEgNy40MzctNHYtNy42NDlsLTcuNDguNjg4ek03NC4xNzQgMzYuNDI5bC0uMDQzLS4wMVY0Ny4zNWw3LjQ4LjY5OXYtNy42NDV6Ii8+PHBhdGggZmlsbD0iIzFBNDc2RiIgZD0iTTgxLjYxMSA0OC4wNDlsLTcuNDgtLjY5OS0xNC4zMDMtLjU3MkgzOS41MDZsLTE0LjMwMy41NzJWMzYuNDQzbC0uMDE1LjAwOC4wMTUtLjAzMiAxNC4zMDMtMy4zMTRINTkuODI4bDE0LjMwMyAzLjMxNCA1LjI1OCAyLjc5NXYtMS43OTdsMi4yMjItLjI0My03LjQ4LTUuNDEtMTQuMzAzLTQuNDMySDM5LjUwNmwtMTQuMzAzIDQuNDMyVjIwLjgwN2wtNy40OCA4Ljc2M3Y3LjY1M2wuMDU4LS4wNDIgMi4xNjQuMjM2djEuODM0bC0yLjIyMiAxLjE4OXY3LjYxNWwuMDU4LS4wMDYgMi4xNjQuMDMydjMuMTk2bC0xLjg2Ny4wMjgtLjM1NS0uMDM0djcuNjE4bDIuMjIyIDEuMTk1djEuODU1bC0yLjEyOS4yMzUtLjA5My0uMDd2Ny42NTJsNy40OCA4Ljc2NFY2Ny41NjRsMTQuMzAzIDQuNDMySDU5LjgyOGwxNC4zNDUtNC40NDUgNy40MzgtNS4zNjctMi4yMjItLjI0NXYtMS44MThsLTUuMjE2IDIuODA1LTE0LjM0NSAzLjI5NXYuMDA0SDM5LjUwNnYtLjAwNGwtMTQuMzQ4LTMuMjk1LS4wMjUtLjA1MS4wNy4wMzdWNTEuOTY1bDE0LjMwMy41N3YuMDE0SDU5LjgyOHYtLjAxNGwxNC4zMDMtLjU3IDcuNDgtLjY1Ni0yLjIyMi0uMDMydi0zLjE5NnoiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS DynamoDB Streams" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "AWS DynamoDB Streams Source" description: Receive events from Amazon DynamoDB Streams. 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:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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"] 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 default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the DynamoDB client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the DynamoDB client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in DynamoDB. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false delay: title: Delay description: The number of milliseconds before the next poll from the database. type: integer default: 500 dataTypes: out: default: json headers: CamelAwsDdbStreamEventSource: title: The DDB Stream Event Source description: The Amazon Web Services service from which the stream record originated. For DynamoDB Streams, this is aws:dynamodb. type: string CamelAwsDdbStreamEventId: title: The DDB Stream Event Id description: A globally unique identifier for the event that was recorded in this stream record. type: string types: json: format: "application-json" description: Default Json representation of a DDB Stream Event. mediaType: application/json cloudevents: format: "aws2-ddbstream:application-cloudevents" description: Data type transformer converts AWS Dynamo DB Streams get records response to CloudEvent v1_0 data format. The data type sets Camel specific CloudEvent headers with values extracted from AWS Dynamo DB Streams get records. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id. type: string CamelCloudEventType: title: CloudEvent Type description: The event type. default: "org.apache.camel.event.aws.ddbstream.getRecords" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the DDB Stream Event source receipt handle with prefix "aws.ddbstream.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. The DDB Stream Event Id. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string 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}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" delay: "{{delay}}" steps: - transform: toType: "aws2-ddb:application-x-struct" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-ec2-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA2NSIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDMxMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTQyLjc1NCAyNDQuNDk1bC0yOS45MTggNi44MjZWNTcuNTY1bDI5LjkxOCA2LjgzOXYxODAuMDkxIiBmaWxsPSIjRjY4NTM2Ii8+PHBhdGggZD0iTTgwLjA4MiAyNTUuOTMxbC0zNy4zMjggMTAuNjA4VjQyLjYxMmwzNy4zMjggMTAuNTk1djIwMi43MjRNMTI3Ljk2NiAyNjcuNjgxbC00Ny44ODQgMTcuNTI0VjIzLjk0Nmw0Ny44ODQgMTcuNTE2djIyNi4yMTlNMjU2IDI0NS4wNzlsLTEyOC4wMzQgNjQuMDE3VjBMMjU2IDY0LjAxN3YxODEuMDYyIiBmaWxsPSIjRjY4NTM2Ii8+PHBhdGggZD0iTTEwMi40NDQgMTIuNzYzTDEyNy45NjYgMHYzMDkuMDk2bC0yNS41MjItMTIuNzU5VjEyLjc2M002MC4zMjUgMzMuODJsMTkuNzU3LTkuODc4djI2MS4yMTJsLTE5Ljc1Ny05Ljg3OFYzMy44Mk0yNy4wMTYgNTAuNDc3bDE1LjczOC03Ljg2OXYyMjMuODhsLTE1LjczOC03Ljg3NFY1MC40NzdNMTIuODM2IDU3LjU2NUwwIDYzLjk4M3YxODEuMTM0bDEyLjgzNiA2LjQxNFY1Ny41NjUiIGZpbGw9IiM5RDUwMjUiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS EC2" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS EC2 Sink" description: Check the status of EC2 instances required: - region type: object properties: accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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 EC2 client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the EC2 client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the EC2 client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in EC2. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:core" - "camel:aws2-ec2" - "camel:kamelet" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[instanceIds]}" steps: - setHeader: name: CamelAwsEC2InstancesIds simple: "${header[instanceIds]}" - simple: "${header[ce-instanceids]}" steps: - setHeader: name: CamelAwsEC2InstancesIds simple: "${header[ce-instanceids]}" - to: uri: "aws2-ec2:ec2-route" parameters: accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" operation: "describeInstancesStatus" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-eventbridge-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB3aWR0aD0iMWVtIiBoZWlnaHQ9IjFlbSIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQgbWVldCIgdmlld0JveD0iMCAwIDI1NiAyNTYiIHN0eWxlPSItbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyI+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSJJY29uaWZ5SWQtMTgyM2Y2NTU1NjktYWYxZGQ1LTIwMzYiIHgxPSIwJSIgeDI9IjEwMCUiIHkxPSIxMDAlIiB5Mj0iMCUiPjxzdG9wIG9mZnNldD0iMCUiIHN0b3AtY29sb3I9IiNCMDA4NEQiLz48c3RvcCBvZmZzZXQ9IjEwMCUiIHN0b3AtY29sb3I9IiNGRjRGOEIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48cGF0aCBmaWxsPSJ1cmwoI0ljb25pZnlJZC0xODIzZjY1NTU2OS1hZjFkZDUtMjAzNikiIGQ9Ik0wIDBoMjU2djI1NkgweiIvPjxwYXRoIGZpbGw9IiNGRkYiIGQ9Ik0xNzEuNzAyIDIxMS4yYy02Ljg1OCAwLTEyLjQ0LTUuNjEtMTIuNDQtMTIuNTA5czUuNTgyLTEyLjUwOSAxMi40NC0xMi41MDljNi44NTcgMCAxMi40MzggNS42MSAxMi40MzggMTIuNTFjMCA2Ljg5OC01LjU4MSAxMi41MDgtMTIuNDM4IDEyLjUwOFptLTI3LjI3OC01NC40aC0zMy4wNzFMOTQuODE1IDEyOGwxNi41MzgtMjguOGgzMy4wNzFMMTYwLjk2IDEyOGwtMTYuNTM1IDI4LjhaTTg4LjM4NyA2OS44MThjLTYuODU3IDAtMTIuNDM4LTUuNjEtMTIuNDM4LTEyLjUxYzAtNi44OTggNS41ODEtMTIuNTA4IDEyLjQzOC0xMi41MDhjNi44NjEgMCAxMi40NDMgNS42MSAxMi40NDMgMTIuNTA5cy01LjU4MiAxMi41MDktMTIuNDQzIDEyLjUwOVptODMuMzE1IDEwOS45NjRjLTIuMzYyIDAtNC42MTQuNDU4LTYuNjk5IDEuMjYxbC0xMy41MTQtMjIuOTMxbC0uNzEzLjQyNkwxNjcuMzkgMTI5LjZhMy4yMjYgMy4yMjYgMCAwIDAgMC0zLjJsLTE4LjM3NC0zMmEzLjE3NyAzLjE3NyAwIDAgMC0yLjc1NS0xLjZoLTMzLjQzNWwuMTMtLjA3N2wtMTIuMzktMjEuMDNjNC4wNDctMy40NjkgNi42MjgtOC42MjcgNi42MjgtMTQuMzg0YzAtMTAuNDI2LTguNDM2LTE4LjkwOS0xOC44MDctMTguOTA5Yy0xMC4zNjcgMC0xOC44MDMgOC40ODMtMTguODAzIDE4LjkwOWMwIDEwLjQyNSA4LjQzNiAxOC45MDkgMTguODAzIDE4LjkwOWMyLjM2NSAwIDQuNjE4LS40NTggNi43MDItMS4yNjFsMTEuNTY3IDE5LjYyNUw4OC4zODQgMTI2LjRhMy4yMjYgMy4yMjYgMCAwIDAgMCAzLjJsMTguMzc3IDMyYy41Ny45OTIgMS42MiAxLjYgMi43NTYgMS42aDM2Ljc0NGMuMjY0IDAgLjUyMS0uMDQyLjc3LS4xMDJsMTIuNDk2IDIxLjIxYy00LjA1MSAzLjQ2OC02LjYyOSA4LjYyNi02LjYyOSAxNC4zODNjMCAxMC40MjYgOC40MzMgMTguOTA5IDE4LjgwNCAxOC45MDljMTAuMzcgMCAxOC44MDMtOC40ODMgMTguODAzLTE4LjkwOWMwLTEwLjQyNS04LjQzMy0xOC45MDktMTguODAzLTE4LjkwOVptMTguOTY4LTc3LjA1Yy02Ljg1NyAwLTEyLjQzNi01LjYwOS0xMi40MzYtMTIuNTA4YzAtNi45IDUuNTc5LTEyLjUwOSAxMi40MzYtMTIuNTA5YzYuODU4IDAgMTIuNDQgNS42MSAxMi40NCAxMi41MDljMCA2LjktNS41ODIgMTIuNTA5LTEyLjQ0IDEyLjUwOVptMjMuMzAzIDIzLjY2OGwtMTIuMDgtMjEuMDRjNC41OTItMy40NTMgNy41OC04Ljk0NCA3LjU4LTE1LjEzNmMwLTEwLjQyNi04LjQzMi0xOC45MDktMTguODAzLTE4LjkwOWMtMi42MzggMC01LjE1Mi41NTQtNy40MzMgMS41NDlsLTkuODQ5LTE3LjE1NWEzLjE4IDMuMTggMCAwIDAtMi43NTYtMS42aC0zOS40NDh2Ni40aDM3LjYxMmw5LjExIDE1Ljg3MmMtMy43MDMgMy40NTYtNi4wMzYgOC4zNzQtNi4wMzYgMTMuODQzYzAgMTAuNDI2IDguNDMzIDE4LjkwOSAxOC44IDE4LjkwOWMxLjkzMiAwIDMuOC0uMjk4IDUuNTU2LS44NDVMMjA3LjU0NSAxMjhsLTE1Ljg5MiAyNy42NzRsNS41MTIgMy4ybDE2LjgwOC0yOS4yNzRhMy4yMSAzLjIxIDAgMCAwIDAtMy4yWm0tMTQ2LjA0IDUwLjM5Yy02Ljg2IDAtMTIuNDQyLTUuNjEyLTEyLjQ0Mi0xMi41MDhjMC02LjkgNS41ODEtMTIuNTEgMTIuNDQyLTEyLjUxYzYuODU3IDAgMTIuNDM5IDUuNjEgMTIuNDM5IDEyLjUxYzAgNi44OTYtNS41ODIgMTIuNTA4LTEyLjQ0IDEyLjUwOFptMTAuMzkzIDMuMjM2YzUuMDYyLTMuMzkyIDguNDEtOS4xODEgOC40MS0xNS43NDRjMC0xMC40MjYtOC40MzYtMTguOTEtMTguODAzLTE4LjkxYy0zLjAwNCAwLTUuODMzLjczLTguMzUzIDEuOTk0TDQ4LjQ1OCAxMjhsMTguNDI4LTMyLjA5M2wtNS41MTUtMy4yTDQyLjAyNyAxMjYuNGEzLjIxIDMuMjEgMCAwIDAgMCAzLjJsMTIuMzg4IDIxLjU2OGMtMy4yNjggMy40MDUtNS4yODkgOC4wMjItNS4yODkgMTMuMTE0YzAgMTAuNDI1IDguNDM2IDE4LjkwOCAxOC44MDcgMTguOTA4YzEuNTYyIDAgMy4wNzQtLjIxNCA0LjUyOC0uNTc5bDEwLjE1IDE3LjY4Yy41Ny45ODkgMS42MiAxLjYgMi43NTcgMS42aDM5LjQ1MXYtNi40SDg3LjIwNGwtOC44NzgtMTUuNDY1WiIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Eventbridge" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS Eventbridge Sink" description: Send events to an Amazon Eventbridge Eventbus. In the headers, you can set the `resources-arn` / `ce-resources-arn` property to specify the ARN of resources related to the event. In the headers, you can set the `detail-type` / `ce-detail-type` property to specify the detail type related to the event. In the headers, you can set the `event-source` / `ce-event-source` property to specify the event source related to the event. If you do not set the property in the header, the Kamelet uses the given Kamelet properties as a default. required: - eventbusNameOrArn - region type: object properties: eventbusNameOrArn: title: Eventbus Name description: The Eventbridge Eventbus name or Amazon Resource Name (ARN). type: string resourcesArn: title: Event Resource ARN description: The ARN of resources related to the AWS event (e.g. `arn:aws:s3:eu-east-1:000000000001:test`). type: string eventSourcePrefix: title: Event Source Prefix description: The event source prefix set for all events sent to the eventbus. type: string default: "" eventSource: title: Event Source description: The event source related to the AWS event (e.g. `aws.s3`). type: string detailType: title: Event Detail Type description: The event detail type related to the AWS event. type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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 Eventbridge client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Eventbridge client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Eventbridge client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Eventbridge. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:core" - "camel:aws2-eventbridge" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[resources-arn]}" steps: - setHeader: name: CamelAwsEventbridgeResourcesArn simple: "${header[resources-arn]}" - simple: "${header[ce-resources-arn]}" steps: - setHeader: name: CamelAwsEventbridgeResourcesArn simple: "${header[ce-resources-arn]}" otherwise: steps: - setHeader: name: CamelAwsEventbridgeResourcesArn simple: "{{?resourcesArn}}" - choice: when: - simple: "${header[detail-type]}" steps: - setHeader: name: CamelAwsEventbridgeDetailType simple: "${header[detail-type]}" - simple: "${header[ce-detail-type]}" steps: - setHeader: name: CamelAwsEventbridgeDetailType simple: "${header[ce-detail-type]}" otherwise: steps: - setHeader: name: CamelAwsEventbridgeDetailType simple: "{{?detailType}}" - choice: when: - simple: "${header[event-source]}" steps: - setHeader: name: CamelAwsEventbridgeSource simple: "{{?eventSourcePrefix}}${header[event-source]}" - simple: "${header[ce-event-source]}" steps: - setHeader: name: CamelAwsEventbridgeSource simple: "{{?eventSourcePrefix}}${header[ce-event-source]}" - simple: "${header[ce-source]}" steps: - setHeader: name: CamelAwsEventbridgeSource simple: "{{?eventSourcePrefix}}${header[ce-source]}" otherwise: steps: - setHeader: name: CamelAwsEventbridgeSource simple: "{{?eventSourcePrefix}}{{?eventSource}}" - to: uri: "aws2-eventbridge:{{eventbusNameOrArn}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" operation: "putEvent" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-kinesis-firehose-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODUgODUiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9IjIuNSIgeT0iMi41Ii8+PHN5bWJvbCBpZD0iQSIgb3ZlcmZsb3c9InZpc2libGUiPjxnIHN0cm9rZT0ibm9uZSI+PHBhdGggZD0iTTEzLjc2NiAzLjEyaDUyLjQ2OGMzLjY1MSAwIDcuMTUyIDEuMzYzIDkuNzM0IDMuNzg4UzgwIDEyLjYyNCA4MCAxNi4wNTR2MjEuNjk4Yy0yLjcxNy0xLjMxOS04LjY2NC0yLjcyMy0xNy40NjQtMi43MjMtMy4zNy0uMDEzLTYuNzM3LjIyNC0xMC4wNjguNzA5LTUuOTMyLjkyMi05LjA1NyAyLjUxLTkuMDU3IDMuNDg5djM2Ljg3M2MwIC42MS44OTEgMS40MTggMi41ODEgMi4yMTJIMTMuNzY2QzYuMTYzIDc4LjMxMyAwIDcyLjUyMiAwIDY1LjM3OVYxNi4wNTRDMCA4LjkxMSA2LjE2MyAzLjEyIDEzLjc2NiAzLjEyeiIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0xMy43NjYgMGg1Mi40NjhjMy42NTEgMCA3LjE1MiAxLjM2MyA5LjczNCAzLjc4OFM4MCA5LjUwNCA4MCAxMi45MzR2MjEuNjdjLTIuNzE3LTEuMzE5LTguNjY0LTIuNzIzLTE3LjQ2NC0yLjcyM2E2Ny45NCA2Ny45NCAwIDAgMC0xMC4wNjguNzA5Yy01LjkzMi45MjItOS4wNTcgMi41MS05LjA1NyAzLjQ4OXYzNi44MTZjMCAuNjEuODkxIDEuNDE4IDIuNTgxIDIuMjEySDEzLjc2NmMtMy42NTEgMC03LjE1Mi0xLjM2My05LjczNC0zLjc4OFMwIDY1LjYwNCAwIDYyLjE3NHYtNDkuMjRDMCA1Ljc5MSA2LjE2MyAwIDEzLjc2NiAweiIgZmlsbD0iI2Y1ODUzNCIvPjxwYXRoIGQ9Ik02My45MjQgNDEuODA4YTU3LjAzIDU3LjAzIDAgMCAwLTguNDUzLjU5NiAyNi40NCAyNi40NCAwIDAgMS03LjU0Ny0uNjI0djMuNTQ2YzAgLjgyMyAyLjY0MSAyLjE1NiA3LjU0NyAyLjkwN2E1NC40NyA1NC40NyAwIDAgMCA4LjQ1My41OTZDNzQuMzM5IDQ4LjgyOCA4MCA0Ni41MTcgODAgNDUuMzI2VjQxLjc4em0tMTYuMzc3IDEwLjQxdjI0LjI1MWMwIDEuMjIgNC41MjggMy41MTcgMTUuMzIxIDMuNTE3YTUxLjY4IDUxLjY4IDAgMCAwIDEzLjI2OC0xLjQxOGMyLjE0My0uNjUyIDMuNjY4LTEuNDE4IDMuODM0LTEuOTQzVjUyLjUxNmMtMy4xNCAxLjgyOS05LjYxNSAyLjgzNi0xNi4wNDUgMi44MzZoLTIuNjcxbC0xLjYzLS4yN2gtLjgxNWwtMS4yNjgtLjA5OS0uNjc5LS4wOTktMS4zNTgtLjE3YTIyLjQ5IDIyLjQ5IDAgMCAxLTcuOTU1LTIuNDk2eiIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik02My45MjQgMzguMjc3YTU3LjAxIDU3LjAxIDAgMCAwLTguNDUzLjU5NmMtNC45ODEuNzgtNy41NDcgMi4xMTMtNy41NDcgMi45MjJzMi42NDEgMi4xNTYgNy41NDcgMi45MDdhNTQuNDYgNTQuNDYgMCAwIDAgOC40NTMuNTk2Qzc0LjMzOSA0NS4yOTggODAgNDIuOTg2IDgwIDQxLjc5NXMtNS42Ni0zLjUxNy0xNi4wNzYtMy41MTd6TTQ3LjU0NyA0OC42NzN2MjQuMjIzYzAgMS4yMzQgNC41MjggMy41MDMgMTUuMjc1IDMuNTAzYTUxLjY4IDUxLjY4IDAgMCAwIDEzLjI2OC0xLjQxOGMyLjE0My0uNjUyIDMuNjY4LTEuNDE4IDMuODM0LTEuOTQzdi0yNC4xMWMtMy4xNCAxLjgzLTkuNjE1IDIuODM2LTE2LjA0NSAyLjgzNmgtMi42NzJsLTEuNTg1LS4yMjdoLS44MTVsLTEuMjY4LS4wOTktLjY3OS0uMDk5LTEuMzU4LS4xN2EyMi40OSAyMi40OSAwIDAgMS03Ljk1NS0yLjQ5NnoiIGZpbGw9IiNmNTg1MzQiLz48cGF0aCBkPSJNMTMuNzY2IDc1LjE2NWgzMi4xOTZ2My4xMkgxMy43NjZDNi4xNjMgNzguMjg1IDAgNzIuNDk0IDAgNjUuMzUxdi0zLjEyYzAgNy4xNDMgNi4xNjMgMTIuOTM0IDEzLjc2NiAxMi45MzR6IiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTY1LjE3NyAxNi4xNjhMNTMuMTAyIDQuODIydjUuNjczSDM0LjI0OVYzMC4zNWgxOC44MjN2Mi4xODRsNC4yNTYtLjQ0TDY5LjcyIDIwLjQyMnptLTU3LjU2OS0uMDAxdjE0LjE4MmgyMC44M1YxMC40NTJINy42MDh2NS43MTV6bTUuODExIDMzLjUxMnYxNC4xODJoMjAuODNWNDMuOTY0aC0yMC44M3Y1LjcxNXoiLz48L2c+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Kinesis Firehose" camel.apache.org/kamelet.namespace: "AWS" 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 - 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:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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: Set whether the Kinesis Firehose client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Kinesis Firehose client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Kinesis Firehose client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Kinesis Firehose. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:aws2-kinesis" - "camel:kamelet" template: from: uri: kamelet:source steps: - to: uri: "aws2-kinesis-firehose:{{streamName}}" parameters: accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-kinesis-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMzA4LjIzNDAxIj48dGl0bGU+YXdzLWtpbmVzaXM8L3RpdGxlPjxwYXRoIGQ9Ik0wLDE3Mi4wODdsMTI3Ljc1NCw1OC44MSwxMjcuNzUyLTU4LjgxLTEyNy43NTItNS4yOTNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjZmNiZjkyIi8+PHBhdGggZD0iTTEyOC4xNDcsMCwuMDU5LDYzLjg4MXY5MC4xMzZIMTUzLjY0OFYxMi43NTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTS4wNTksMjE3LjU1OWwxMjguMTYyLDkwLjY3NUwyNTYsMjE3LjU1OSwxMjcuOTQ1LDE5OC45MjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjZmNiZjkyIi8+PHBhdGggZD0iTTEyOC4xNDYsMTU0LjAxN2g2Ny41NzdWNTcuODM2TDE3NS45OSw0OS45NDMsMTI4LjE0Niw2My44OThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTE3NS45OSwxNTQuMDE3aDUyLjIzM1Y5MS42MzJsLTE0Ljk0LTQuNDgxLTM3LjI5Myw2LjMzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0yMTMuMjgyLDgyLjI2djcxLjc1N2g0Mi4yMjRMMjU2LDgxLjk0MWwtMTIuODI2LTUuMTI0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0xMjguMTQ3LDBWMTU0LjAxN2gyNS41VjEyLjc1MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMTk1LjcyNCw1Ny44MzZsLTE5LjczMy03Ljg5NFYxNTQuMDE3aDE5LjczMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMjI4LjIyNCw5MS42MzJsLTE0Ljk0MS00LjQ4djY2Ljg2NWgxNC45NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMjQzLjE3NCwxNTQuMDE3SDI1NlY4MS45NDFsLTEyLjgyNi01LjEyNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMTI3Ljc1NCwxODQuODYzdjQ2LjAzM2wxMjcuNzUyLTMxLjg0NFYxNzIuMDg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iI2Y2ODUzNCIvPjxwYXRoIGQ9Ik0xMjcuNzU0LDI2Mi43ODF2NDUuNDUzTDI1NiwyNDQuMTE0VjIxNy41NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNLjA1OSwyNDQuMzlsMTI3LjY5NSw2My44NDRWMjYyLjQ0OEwuMDU4LDIxNy41NThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTAsMTk5LjA1MWwxMjcuNzU0LDMxLjg0NVYxODQuODYyTDAsMTcyLjA4NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiM5ZDUwMjUiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Kinesis" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS Kinesis Sink" description: Send data to AWS Kinesis. required: - stream - region type: object properties: stream: title: Stream Name 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. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Kinesis client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Kinesis client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Kinesis. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false types: in: mediaType: application/octet-stream dependencies: - "camel:core" - "camel:aws2-kinesis" - "camel:kamelet" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[partition]}" steps: - setHeader: name: CamelAwsKinesisPartitionKey simple: "${header[partition]}" - simple: "${header[ce-partition]}" steps: - setHeader: name: CamelAwsKinesisPartitionKey simple: "${header[ce-partition]}" otherwise: steps: - setHeader: name: CamelAwsKinesisPartitionKey simple: "${exchangeId}" - choice: when: - simple: "${header[sequence-number]}" steps: - setHeader: name: CamelAwsKinesisSequenceNumber simple: "${header[sequence-number]}" - simple: "${header[ce-sequencenumber]}" steps: - setHeader: name: CamelAwsKinesisSequenceNumber simple: "${header[ce-sequencenumber]}" - to: uri: "aws2-kinesis:{{stream}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-kinesis-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMzA4LjIzNDAxIj48dGl0bGU+YXdzLWtpbmVzaXM8L3RpdGxlPjxwYXRoIGQ9Ik0wLDE3Mi4wODdsMTI3Ljc1NCw1OC44MSwxMjcuNzUyLTU4LjgxLTEyNy43NTItNS4yOTNaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjZmNiZjkyIi8+PHBhdGggZD0iTTEyOC4xNDcsMCwuMDU5LDYzLjg4MXY5MC4xMzZIMTUzLjY0OFYxMi43NTFaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTS4wNTksMjE3LjU1OWwxMjguMTYyLDkwLjY3NUwyNTYsMjE3LjU1OSwxMjcuOTQ1LDE5OC45MjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjZmNiZjkyIi8+PHBhdGggZD0iTTEyOC4xNDYsMTU0LjAxN2g2Ny41NzdWNTcuODM2TDE3NS45OSw0OS45NDMsMTI4LjE0Niw2My44OThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTE3NS45OSwxNTQuMDE3aDUyLjIzM1Y5MS42MzJsLTE0Ljk0LTQuNDgxLTM3LjI5Myw2LjMzWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0yMTMuMjgyLDgyLjI2djcxLjc1N2g0Mi4yMjRMMjU2LDgxLjk0MWwtMTIuODI2LTUuMTI0WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iIzlkNTAyNSIvPjxwYXRoIGQ9Ik0xMjguMTQ3LDBWMTU0LjAxN2gyNS41VjEyLjc1MVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMTk1LjcyNCw1Ny44MzZsLTE5LjczMy03Ljg5NFYxNTQuMDE3aDE5LjczMloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMjI4LjIyNCw5MS42MzJsLTE0Ljk0MS00LjQ4djY2Ljg2NWgxNC45NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMjQzLjE3NCwxNTQuMDE3SDI1NlY4MS45NDFsLTEyLjgyNi01LjEyNFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNMTI3Ljc1NCwxODQuODYzdjQ2LjAzM2wxMjcuNzUyLTMxLjg0NFYxNzIuMDg3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCAwLjAwMDA1KSIgZmlsbD0iI2Y2ODUzNCIvPjxwYXRoIGQ9Ik0xMjcuNzU0LDI2Mi43ODF2NDUuNDUzTDI1NiwyNDQuMTE0VjIxNy41NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiNmNjg1MzQiLz48cGF0aCBkPSJNLjA1OSwyNDQuMzlsMTI3LjY5NSw2My44NDRWMjYyLjQ0OEwuMDU4LDIxNy41NThaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwIDAuMDAwMDUpIiBmaWxsPSIjOWQ1MDI1Ii8+PHBhdGggZD0iTTAsMTk5LjA1MWwxMjcuNzU0LDMxLjg0NVYxODQuODYyTDAsMTcyLjA4NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgMC4wMDAwNSkiIGZpbGw9IiM5ZDUwMjUiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Kinesis" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "AWS Kinesis Source" description: Receive data from AWS Kinesis. required: - stream - region type: object properties: stream: title: Stream Name 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. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Kinesis client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Kinesis client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Kinesis. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false delay: title: Delay description: The number of milliseconds before the next poll of the selected stream. type: integer default: 500 asyncClient: title: Async Client description: If we want a KinesisAsyncClient instance set it to true. type: boolean default: false useKclConsumers: title: KCL Consumer description: If we want to a KCL Consumer set it to true type: boolean default: false kclDisableCloudwatchMetricsExport: title: KCL Disable Cloudwatch Metrics Export description: Define if we want to use a KCL Consumer and disable the CloudWatch Metrics Export type: boolean default: false types: out: mediaType: application/octet-stream dependencies: - "camel:aws2-kinesis" - "camel:kamelet" - "camel:core" template: from: uri: aws2-kinesis:{{stream}} parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" delay: "{{delay}}" useKclConsumers: "{{useKclConsumers}}" asyncClient: "{{asyncClient}}" kclDisableCloudwatchMetricsExport: "{{kclDisableCloudwatchMetricsExport}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-lambda-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjA2NSIgaGVpZ2h0PSIyNTAwIiB2aWV3Qm94PSIwIDAgMjU2IDMxMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+PHBhdGggZD0iTTAgMjQ1LjI2MmwxNi4zMjIgOC4xNjFMMTkgMjQ4LjY2OFY1OS4zMzNsLTIuNjc4LTMuNDk0TDAgNjR2MTgxLjI2MiIgZmlsbD0iIzlENTAyNSIvPjxwYXRoIGQ9Ik00Ny42NzggNjMuNTdsLTMxLjM1Ni03LjczMXYxOTcuNTg0bDMxLjM1Ni03LjMwMlY2My41NyIgZmlsbD0iI0Y2ODUzNiIvPjxwYXRoIGQ9Ik0xNDMuODkzIDc4LjYwNGwyMi4zMzUtMTEuNTk3IDc0LjMwOSAyOC43NzgtMTkuNzU4IDIuNTc3LTc2Ljg4Ni0xOS43NTgiIGZpbGw9IiM2QjNBMTkiLz48cGF0aCBkPSJNMTQ0Ljc1MiAyMzAuNjU4bDIxLjkwNiAxMS41OTcgNzQuMzA4LTI4Ljc3OC0xOS43NTgtMi41NzgtNzYuNDU2IDE5Ljc1OSIgZmlsbD0iI0ZCQkY5MyIvPjxwYXRoIGQ9Ik0xNTAuMzM2IDE5OC44NzJsMzkuMDg3IDUuMTU1IDIuMjQ0LTQuMDI3di05MGwtMi4yNDQtNC43NjUtMzkuMDg3IDUuMTU0djg4LjQ4M00zNS42NTEgNDUuOTZsMjQuMDU0LTEyLjAyN0w2Mi4zMzMgMzl2MjMxbC0yLjYyOCA1LjMyOS0yNC4wNTQtMTIuMDI3VjQ1Ljk2IiBmaWxsPSIjOUQ1MDI1Ii8+PHBhdGggZD0iTTEwOC42NzEgMjU5LjAwN2wtNDguOTY2IDE1Ljg5MlYzMy45MzNsNDguOTY2IDE1Ljg5M3YyMDkuMTgxIiBmaWxsPSIjRjY4NTM2Ii8+PHBhdGggZD0iTTg5Ljc3MiAyODkuOTMzTDEyOCAzMDkuMjYybDQtNC41OTV2LTI5OUwxMjggMCA4OS43NzIgMTkuMzI5djI3MC42MDRNMjE5LjkxOSA5OC4zNjJsMTkuNzU5LTIuNTc3IDEuNjk3IDIuNDY1VjIxMWwtMS42OTcgMi45MDYtMTkuNzU5LTIuNTc3Vjk4LjM2MiIgZmlsbD0iIzlENTAyNSIvPjxwYXRoIGQ9Ik0xODkuNDIzIDEwNS4yMzV2OTkuMjIxbDQwLjgwNS00OS44MjUtNDAuODA1LTQ5LjM5NiIgZmlsbD0iI0Y2ODUzNiIvPjxwYXRoIGQ9Ik0yMzkuNjc4IDU1LjgzOUwxMjggMHYzMDkuMjYybDEyOC02NFY2NGwtMTYuMzIyLTguMTYxem0wIDE1OC4yMTdsLTczLjQ1IDIxLjkzNlY3My4yN2w3My40NSAyMS45MzZ2MTE4Ljg1eiIgZmlsbD0iI0Y2ODUzNiIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" 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. required: - function - region type: object properties: function: title: Function Name description: The Lambda Function name. type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Lambda client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Lambda client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Lambda. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:aws2-lambda" - "camel:kamelet" template: from: uri: kamelet:source steps: - to: uri: "aws2-lambda:{{function}}" parameters: accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-redshift-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNjE1IDE3ODMuNyIgdmlld0JveD0iMCAwIDE2MTUgMTc4My43IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im04MDcuNSAxMzYzLjggNjc4LjMgMTYxLjV2LTEyNzAuNWwtNjc4LjMgMTYxLjV6IiBmaWxsPSIjMjA1Yjk3Ii8+PHBhdGggZD0ibTE0ODUuOCAyNTQuOCAxMjkuMiA2NC42djExNDEuM2wtMTI5LjIgNjQuNnptLTY3OC4zIDExMDktNjc4LjMgMTYxLjV2LTEyNzAuNWw2NzguMyAxNjEuNXoiIGZpbGw9IiM1MTkzY2UiLz48cGF0aCBkPSJtMTI5LjIgMjU0LjgtMTI5LjIgNjQuNnYxMTQxLjNsMTI5LjIgNjQuNnoiIGZpbGw9IiMyMDViOTciLz48cGF0aCBkPSJtOTc5LjggMTc4My43IDI1OC40LTEyOS4ydi0xNTI1LjNsLTI1OC40LTEyOS4yLTc5IDg0N3oiIGZpbGw9IiM1MTkzY2UiLz48cGF0aCBkPSJtNjM1LjIgMTc4My43LTI1OC40LTEyOS4ydi0xNTI1LjNsMjU4LjQtMTI5LjIgNzkgODQ3eiIgZmlsbD0iIzIwNWI5NyIvPjxwYXRoIGQ9Im02MzUuMiAwaDM0OC4xdjE3ODAuMWgtMzQ4LjF6IiBmaWxsPSIjMmU3M2I3Ii8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Redshift" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS Redshift Sink" description: Send data to an AWS Redshift Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the AWS RedShi data source. type: string default: 5439 username: title: Username 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 access a secured AWS Redshift Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query 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 name of the AWS RedShift Database. type: string types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.34" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-redshift-sink type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'com.amazon.redshift.jdbc.Driver' from: uri: "kamelet:source" steps: - unmarshal: json: library: Jackson - to: uri: "{{local-sql-redshift-sink}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-redshift-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxNjE1IDE3ODMuNyIgdmlld0JveD0iMCAwIDE2MTUgMTc4My43IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Im04MDcuNSAxMzYzLjggNjc4LjMgMTYxLjV2LTEyNzAuNWwtNjc4LjMgMTYxLjV6IiBmaWxsPSIjMjA1Yjk3Ii8+PHBhdGggZD0ibTE0ODUuOCAyNTQuOCAxMjkuMiA2NC42djExNDEuM2wtMTI5LjIgNjQuNnptLTY3OC4zIDExMDktNjc4LjMgMTYxLjV2LTEyNzAuNWw2NzguMyAxNjEuNXoiIGZpbGw9IiM1MTkzY2UiLz48cGF0aCBkPSJtMTI5LjIgMjU0LjgtMTI5LjIgNjQuNnYxMTQxLjNsMTI5LjIgNjQuNnoiIGZpbGw9IiMyMDViOTciLz48cGF0aCBkPSJtOTc5LjggMTc4My43IDI1OC40LTEyOS4ydi0xNTI1LjNsLTI1OC40LTEyOS4yLTc5IDg0N3oiIGZpbGw9IiM1MTkzY2UiLz48cGF0aCBkPSJtNjM1LjIgMTc4My43LTI1OC40LTEyOS4ydi0xNTI1LjNsMjU4LjQtMTI5LjIgNzkgODQ3eiIgZmlsbD0iIzIwNWI5NyIvPjxwYXRoIGQ9Im02MzUuMiAwaDM0OC4xdjE3ODAuMWgtMzQ4LjF6IiBmaWxsPSIjMmU3M2I3Ii8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Redshift" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "AWS Redshift Source" description: Query data from an AWS RedShift Database. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 5439 username: title: Username 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 access a secured AWS RedShift Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query 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 name of the AWS RedShift Database. type: string consumedQuery: title: Consumed Query description: A query to run on a tuple consumed. type: string example: 'DELETE FROM accounts where user_id = :#user_id' delay: title: Delay description: The number of milliseconds before the next poll from the AWS RedShift database. type: integer default: 500 types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.34" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-redshift-source type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:redshift://{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'com.amazon.redshift.jdbc.Driver' from: uri: "{{local-sql-redshift-source}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" onConsume: "{{?consumedQuery}}" delay: "{{delay}}" steps: - marshal: json: library: Jackson - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-s3-event-based-source annotations: camel.apache.org/kamelet.support.level: Preview camel.apache.org/catalog.version: "4.14.2" 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: Apache Software Foundation camel.apache.org/kamelet.group: AWS S3 Event-Based camel.apache.org/kamelet.namespace: "AWS" camel.apache.org/keda.type: aws-s3-event-based-queue labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "AWS S3 Event Based Source" description: Receive data from AWS SQS subscribed to Eventbridge Bus reporting events related to an S3 bucket or multiple buckets. required: - accessKey - secretKey - queueNameOrArn - region type: object properties: queueNameOrArn: title: Queue Name description: The SQS Queue Name or ARN type: string deleteAfterRead: title: Auto-delete Messages description: Delete messages after consuming them type: boolean default: true accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - 'urn:camel:group:credentials' - 'urn:keda:authentication:awsAccessKeyID' - 'urn:keda:required' secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - 'urn:camel:group:credentials' - 'urn:keda:authentication:awsSecretAccessKey' - 'urn:keda:required' region: title: AWS Region description: The AWS region to access. type: string 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. type: boolean 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' 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 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 default: false getObject: title: Greedy Object in Bucket description: >- If `getObject` is enabled, then the file created in the bucket is retrieved and returned as body. If not, only the event will returned as body. type: boolean default: false dependencies: - 'camel:core' - 'camel:aws2-sqs' - 'camel:aws2-s3' - 'camel:jsonpath' - 'camel:kamelet' - 'camel:jackson' template: from: uri: 'aws2-sqs:{{queueNameOrArn}}' parameters: autoCreateQueue: '{{autoCreateQueue}}' secretKey: '{{?secretKey}}' accessKey: '{{?accessKey}}' region: '{{region}}' deleteAfterRead: '{{deleteAfterRead}}' amazonAWSHost: '{{?amazonAWSHost}}' protocol: '{{?protocol}}' uriEndpointOverride: '{{?uriEndpointOverride}}' overrideEndpoint: '{{overrideEndpoint}}' delay: '{{delay}}' greedy: '{{greedy}}' steps: - choice: precondition: true when: - simple: '${properties:getObject:true}' steps: - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setProperty: name: s3-event-name jsonpath: $.detail.reason - choice: when: - simple: '${exchangeProperty.s3-event-name} == "PutObject"' steps: - setProperty: name: aws-s3-name jsonpath: $.detail.object.key - setProperty: name: aws-s3-bucket jsonpath: $.detail.bucket.name - toD: >- aws2-s3:${exchangeProperty.aws-s3-bucket}?accessKey={{accessKey}}&secretKey={{secretKey}}®ion={{region}}&operation=getObject&keyName=${exchangeProperty.aws-s3-name} - to: 'kamelet:sink' --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-s3-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4IiBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" 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 an Amazon S3 Bucket. required: - bucketNameOrArn - region type: object properties: bucketNameOrArn: title: Bucket Name description: The S3 Bucket name or Amazon Resource Name (ARN). type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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: Specifies to automatically create the S3 bucket. type: boolean default: false 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). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the S3 client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the S3 client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in S3. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false forcePathStyle: title: Force Path Style description: Forces path style when accessing AWS S3 buckets. type: boolean default: false keyName: title: Key Name description: The key name for saving an element in the bucket. type: string dependencies: - "camel:core" - "camel:aws2-s3" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: precondition: true when: - simple: '${propertiesExist:!keyName}' steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelAwsS3Key simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelAwsS3Key simple: "${header[ce-file]}" otherwise: steps: - setHeader: name: CamelAwsS3Key simple: "${exchangeId}" - to: uri: "aws2-s3:{{bucketNameOrArn}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" autoCreateBucket: "{{autoCreateBucket}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" forcePathStyle: "{{forcePathStyle}}" keyName: "{{?keyName}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-s3-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4IiBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" 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 an Amazon S3 Bucket. required: - bucketNameOrArn - region type: object properties: bucketNameOrArn: title: Bucket Name description: The S3 Bucket name or Amazon Resource Name (ARN). type: string deleteAfterRead: title: Auto-delete Objects description: Specifies to delete objects after consuming them. type: boolean default: true moveAfterRead: title: Move Objects After Delete description: Move objects from S3 bucket to a different bucket after they have been retrieved. type: boolean default: false destinationBucket: title: Destination Bucket description: Define the destination bucket where an object must be moved when moveAfterRead is set to true. type: string destinationBucketPrefix: title: Destination Bucket Prefix description: Define the destination bucket prefix to use when an object must be moved, and moveAfterRead is set to true. type: string destinationBucketSuffix: title: Destination Bucket Suffix description: Define the destination bucket suffix to use when an object must be moved, and moveAfterRead is set to true. type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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: Specifies to automatically create the S3 bucket. type: boolean 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 default: false 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). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the S3 client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the S3 client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in S3. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false forcePathStyle: title: Force Path Style description: Forces path style when accessing AWS S3 buckets. type: boolean 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 dataTypes: out: default: binary headers: CamelAwsS3BucketName: title: S3 Bucket Name description: The bucket name which has been used to retrieve objects type: string CamelAwsS3Key: title: S3 Key description: The key under which the retrieved object is stored. type: string CamelAwsS3ContentType: title: Content Type description: The content type of the retrieved object. default: application/octet-stream type: string CamelAwsS3ETag: title: ETag Value description: The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. type: string types: binary: format: "application-octet-stream" description: Default binary representation of the S3 object retrieved from the bucket. mediaType: application/octet-stream cloudevents: format: "aws2-s3:application-cloudevents" description: Output data type represents AWS S3 get object response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with respective data from the S3 bucket and its derived object. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.aws.s3.getObject" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the S3 bucket name with prefix "aws.s3.bucket.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. Usually the S3 key. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:core" - "camel:aws2-s3" - "camel:kamelet" template: from: uri: "aws2-s3:{{bucketNameOrArn}}" parameters: autoCreateBucket: "{{autoCreateBucket}}" secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" ignoreBody: "{{ignoreBody}}" deleteAfterRead: "{{deleteAfterRead}}" moveAfterRead: "{{moveAfterRead}}" destinationBucket: "{{?destinationBucket}}" destinationBucketPrefix: "{{?destinationBucketPrefix}}" destinationBucketSuffix: "{{?destinationBucketSuffix}}" prefix: "{{?prefix}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" forcePathStyle: "{{forcePathStyle}}" delay: "{{delay}}" maxMessagesPerPoll: "{{maxMessagesPerPoll}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-s3-streaming-upload-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHg9IjAiIHk9IjAiIHZpZXdCb3g9IjAgMCAyNDguMiAzMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZT4uc3QyOHtmaWxsOiM4YzMxMjN9LnN0Mjl7ZmlsbDojZTA1MjQzfTwvc3R5bGU+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik0yMCA1Mi4xTDAgNjJ2MTc1LjVsMjAgOS45LjEtLjFWNTIuMmwtLjEtLjEiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNyAyMjJMMjAgMjQ3LjVWNTIuMUwxMjcgNzd2MTQ1Ii8+PHBhdGggY2xhc3M9InN0MjgiIGQ9Ik03OC43IDE4Mi4xbDQ1LjQgNS44LjMtLjcuMy03NC40LS41LS42LTQ1LjQgNS43LS4xIDY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDIyMi4zbDEwNC4xIDI1LjIuMi0uM1Y1Mi4xbC0uMi0uMi0xMDQuMSAyNS40djE0NSIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgMTgyLjFsLTQ1LjQgNS44di03NS43bDQ1LjQgNS43djY0LjIiLz48cGF0aCBkPSJNMTY5LjUgODYuOWwtNDUuNCA4LjMtNDUuNC04LjNMMTI0IDc1bDQ1LjUgMTEuOSIgZmlsbD0iIzVlMWYxOCIvPjxwYXRoIGQ9Ik0xNjkuNSAyMTMuMWwtNDUuNC04LjMtNDUuNCA4LjMgNDUuMyAxMi43IDQ1LjUtMTIuNyIgZmlsbD0iI2YyYjBhOSIvPjxwYXRoIGNsYXNzPSJzdDI4IiBkPSJNNzguNyA4Ni45bDQ1LjQtMTEuMi40LS4xVi4zbC0uNC0uMy00NS40IDIyLjd2NjQuMiIvPjxwYXRoIGNsYXNzPSJzdDI5IiBkPSJNMTY5LjUgODYuOWwtNDUuNC0xMS4yVjBsNDUuNCAyMi43djY0LjIiLz48cGF0aCBjbGFzcz0ic3QyOCIgZD0iTTEyNC4xIDMwMGwtNDUuNC0yMi43di02NC4ybDQ1LjQgMTEuMi43LjgtLjIgNzMuNi0uNSAxLjMiLz48cGF0aCBjbGFzcz0ic3QyOSIgZD0iTTEyNC4xIDMwMGw0NS40LTIyLjd2LTY0LjJsLTQ1LjQgMTEuMlYzMDBNMjI4LjIgNTIuMWwyMCAxMHYxNzUuNWwtMjAgMTBWNTIuMSIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" 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 Streaming upload Sink" description: Upload data to AWS S3 in streaming upload mode. required: - bucketNameOrArn - region - keyName type: object properties: bucketNameOrArn: title: Bucket Name description: The S3 Bucket name or Amazon Resource Name (ARN). type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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. type: boolean default: false restartingPolicy: title: Restarting Policy description: The restarting policy to use in streaming upload mode. There are 2 enums and the value can be one of `override`, `lastPart`. type: string default: "lastPart" batchMessageNumber: title: Batch Message Number description: The number of messages composing a batch in streaming upload mode. type: integer default: 10 batchSize: title: Batch Size description: The batch size (in bytes) in streaming upload mode. 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: 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 is the base for the progressive creation of files. type: string useDefaultCredentialsProvider: title: Default Credentials Provider 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 default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the S3 client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the S3 client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in S3. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false forcePathStyle: title: Force Path Style description: Forces path style when accessing AWS S3 buckets. type: boolean default: false dependencies: - "camel:aws2-s3" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "aws2-s3:{{bucketNameOrArn}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" autoCreateBucket: "{{autoCreateBucket}}" streamingUploadMode: "true" restartingPolicy: "{{restartingPolicy}}" batchMessageNumber: "{{batchMessageNumber}}" batchSize: "{{batchSize}}" namingStrategy: "{{namingStrategy}}" keyName: "{{keyName}}" streamingUploadTimeout: "{{?streamingUploadTimeout}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" forcePathStyle: "{{forcePathStyle}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-secrets-manager-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzUgNzUiIHdpZHRoPSIyNTYiIGhlaWdodD0iMjU2Ij48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6dXJsKCNSZWRHcmFkaWVudCk7fS5jbHMtMntmaWxsOiNmZmY7fTwvc3R5bGU+PGxpbmVhckdyYWRpZW50IGlkPSJSZWRHcmFkaWVudCIgeDE9Ii0yMDQyLjU0IiB5MT0iMTk4NS40NyIgeDI9Ii0xOTM2LjQ3IiB5Mj0iMjA5MS41NCIgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgtMjAwMSAtMTk1Mikgcm90YXRlKC05MCkiIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNiZDA4MTYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZjUyNTIiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48dGl0bGU+QVdTLVNlY3JldHMtTWFuYWdlcjwvdGl0bGU+PGcgaWQ9IlJlZmVyZW5jZSI+PHJlY3QgaWQ9IlJlZF9HcmFkaWVudCIgZGF0YS1uYW1lPSJSZWQgR3JhZGllbnQiIGNsYXNzPSJjbHMtMSIgd2lkdGg9Ijc1IiBoZWlnaHQ9Ijc1Ii8+PGcgaWQ9Ikljb25fVGVzdCIgZGF0YS1uYW1lPSJJY29uIFRlc3QiPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iNTQuNTIiIHk9IjQ3LjA4IiB3aWR0aD0iMiIgaGVpZ2h0PSIxNi45MSIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIzLjAxIDU1LjUzKSByb3RhdGUoLTQ1KSIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iMTkuMTMiIHk9IjEwLjc3IiB3aWR0aD0iMiIgaGVpZ2h0PSIxOC43NCIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTguMzUgMjAuMTMpIHJvdGF0ZSgtNDUpIi8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxNS4wNSIgeT0iNTQuMDUiIHdpZHRoPSI5LjkiIGhlaWdodD0iMiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTMzLjA3IDMwLjI3KSByb3RhdGUoLTQ1KSIvPjxyZWN0IGNsYXNzPSJjbHMtMiIgeD0iNTAuMDUiIHk9IjE5LjA1IiB3aWR0aD0iOS45IiBoZWlnaHQ9IjIiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDEuOTMgNDQuNzYpIHJvdGF0ZSgtNDUpIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjAuNDYsMzYuNTJhMjIuODcsMjIuODcsMCwwLDAtNC4zMS0xMi40NGwtMS42MiwxLjE4YTIwLjg2LDIwLjg2LDAsMCwxLDMuOTMsMTEuMjZoLTJ2MmgyYTIwLjcsMjAuNywwLDAsMS0zLjkzLDExLjMyTDU2LjE1LDUxYTIyLjcyLDIyLjcyLDAsMCwwLDQuMzEtMTIuNWgydi0yWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTI1LjIxLDIwLjUyQTIwLjc3LDIwLjc3LDAsMCwxLDM2LjUsMTYuNTl2MS45M2gyVjE2LjU5YTIwLjc3LDIwLjc3LDAsMCwxLDExLjI5LDMuOTNMNTEsMTguOUEyMi44MSwyMi44MSwwLDAsMCwzOC41LDE0LjU5VjEyLjUyaC0ydjIuMDdBMjIuODEsMjIuODEsMCwwLDAsMjQsMTguOVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik00OS43OSw1NC41OEEyMC43NywyMC43NywwLDAsMSwzOC41LDU4LjUxdi0yaC0ydjJhMjAuNzcsMjAuNzcsMCwwLDEtMTEuMjktMy45M0wyNCw1Ni4yQTIyLjgxLDIyLjgxLDAsMCwwLDM2LjUsNjAuNTF2Mmgydi0yQTIyLjgxLDIyLjgxLDAsMCwwLDUxLDU2LjJaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMTguODUsNTFsMS42Mi0xLjE4YTIwLjcsMjAuNywwLDAsMS0zLjkzLTExLjMyaDJ2LTJoLTJhMjAuODYsMjAuODYsMCwwLDEsMy45My0xMS4yNmwtMS42Mi0xLjE4YTIyLjg3LDIyLjg3LDAsMCwwLTQuMzEsMTIuNDRoLTJ2MmgyQTIyLjcyLDIyLjcyLDAsMCwwLDE4Ljg1LDUxWiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTQyLjM5LDI0LjI1YTcuNSw3LjUsMCwwLDAtNC44OS0xLjczaDBjLTMuODYsMC03LDIuNzMtNyw2LjA5djQuOTFoLTJhMSwxLDAsMCwwLTEsMXYxNGExLDEsMCwwLDAsLjI5LjcxLDEsMSwwLDAsMCwuNzEuMjloMThhMSwxLDAsMCwwLDEtMXYtMTRhMSwxLDAsMCwwLS4yOS0uNywxLDEsMCwwLDAtLjcxLS4zaC0ydi00LjlBNS43MSw1LjcxLDAsMCwwLDQyLjM5LDI0LjI1Wk0zMi41LDI4LjYxYzAtMi4yNiwyLjI1LTQuMDksNS00LjA5aDBhNS41NSw1LjU1LDAsMCwxLDMuNiwxLjI1LDMuNzYsMy43NiwwLDAsMSwxLjQxLDIuODV2NC45aC0xMFptMTMsOS45MWgtM3YyaDN2MmgtM3YyaDN2M2gtMTZ2LTEyaDE2WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTM2LjUsNDIuNzZ2Mi43NmgyVjQyLjc2YTIuOTMsMi45MywwLDEsMC0yLDBabTEtMy44MkExLjA4LDEuMDgsMCwxLDEsMzYuNDMsNDAsMS4wNywxLjA3LDAsMCwxLDM3LjUsMzguOTRaIi8+PC9nPjwvZz48L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Secrets Manager" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS Secrets Manager Sink" description: Create a secret in AWS Secrets Manager. required: - region type: object properties: accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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: Set whether the Secrets Manager client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Secrets Manager client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Secrets Manager client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Secrets Manager. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:core" - "camel:aws-secrets-manager" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[secret-name]}" steps: - setHeader: name: CamelAwsSecretsManagerSecretName simple: "${header[secret-name]}" - simple: "${header[ce-secret-name]}" steps: - setHeader: name: CamelAwsSecretsManagerSecretName simple: "${header[ce-secret-name]}" otherwise: steps: - setHeader: name: CamelAwsSecretsManagerSecretName simple: "${exchangeId}" - to: uri: "aws-secrets-manager:kamelet" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" operation: "createSecret" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-ses-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI1NnB4IiBoZWlnaHQ9IjI5OXB4IiB2aWV3Qm94PSIwIDAgMjU2IDI5OSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+Cgk8Zz4KCQk8cGF0aCBkPSJNNjAuNTU2LDQ3LjYwMiBMMCwxNDQuMDEgTDYwLjU1NiwyNDAuNDM0IEw2MS42MTIsMjM5LjY4MSBMNjAuODM3LDQ3LjggTDYwLjU1Niw0Ny42MDIiIGZpbGw9IiM4NzY5MjkiPjwvcGF0aD4KCQk8cGF0aCBkPSJNMTI4LjE4NywyMjMuMTA1IEw2MC41NTYsMjQwLjQzNCBMNjAuNTU2LDQ3LjYwMiBMMTI4LjE4Nyw2NC45MjcgTDEyOC4xODcsMjIzLjEwNSIgZmlsbD0iI0Q5QTc0MSI+PC9wYXRoPgoJCTxwYXRoIGQ9Ik0yNTUuOTc5LDcxLjg2OCBMMjIzLjM3OSw3Ny4yNTkgTDE0OC41MzgsMCBMMTExLjMzMSwxNi4yOTIgTDExNi4yMzksMjUuNDQ1IEw4OS45MDYsMzUuOTcxIEw4OS45MDYsMjc5LjM5OSBMMTI4LjE4NiwyOTguNTUyIEwxMjguODIzLDI5OC4wNTMgTDEyOC4yMzQsNDcuODE4IEwyMDkuMzc2LDE3MC43ODYgTDI1NS45NzksNzEuODY4IiBmaWxsPSIjODc2OTI5Ij48L3BhdGg+CgkJPHBhdGggZD0iTTE0OC41MzgsMCBMMjQ4LjIxNyw0OS44MzcgTDIwOC44LDEyMS4zNTcgTDE0OC41MzgsMCIgZmlsbD0iI0Q5QTc0MSI+PC9wYXRoPgoJCTxwYXRoIGQ9Ik0yNTUuOTc1LDcxLjg2OCBMMjU2LDIzNC41OTYgTDEyOC4xODcsMjk4LjU1MiBMMTI4LjE3LDIwLjY4MyBMMjA4LjgsMTY2Ljk3NCBMMjU1Ljk3NSw3MS44NjgiIGZpbGw9IiNEOUE3NDEiPjwvcGF0aD4KCTwvZz4KPC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS SES" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS SES Sink" description: Send email through the Amazon Simple Email Service (SES). required: - from - region type: object properties: from: title: From description: From address type: string example: user@example.com accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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 SES client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the SES client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the SES client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in SES. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:core" - "camel:aws2-ses" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[subject]}" steps: - setHeader: name: CamelAwsSesSubject simple: "${header[subject]}" - simple: "${header[ce-subject]}" steps: - setHeader: name: CamelAwsSesSubject simple: "${header[ce-subject]}" otherwise: steps: - setHeader: name: CamelAwsSesSubject simple: "${exchangeId}" - choice: when: - simple: "${header[to]}" steps: - setHeader: name: CamelAwsSesTo simple: "${header[to]}" - simple: "${header[ce-to]}" steps: - setHeader: name: CamelAwsSesTo simple: "${header[ce-to]}" - choice: when: - simple: "${header[reply-to-addresses]}" steps: - setHeader: name: CamelAwsSesReplyToAddresses simple: "${header[reply-to-addresses]}" - simple: "${header[ce-reply-to-addresses]}" steps: - setHeader: name: CamelAwsSesReplyToAddresses simple: "${header[ce-reply-to-addresses]}" - to: uri: "aws2-ses://{{from}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-sns-fifo-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnICAgdmlld0JveD0iMCAwIDI1NiAyNTciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPg0KCTxnPg0KCQk8cGF0aCBkPSJNOTguODc1LDIzMi4wMzMgTDcyLjQ0MiwyMjQuNjI1IEw0Ny40NDEsMTk2LjExNyBMNzguNzEzLDE5NS4yNTQgTDk4Ljg3NSwyMzIuMDMzIiBmaWxsPSIjOTk1QjgwIj48L3BhdGg+DQoJCTxwYXRoIGQ9Ik0zNy43NSwyMTMuMjMzIEwyMi44NzUsMjA5LjA2NyBMOC44MTcsMTkzLjAzMyBMMjUuODk5LDE5MC4yMjQgTDM3Ljc1LDIxMy4yMzMiIGZpbGw9IiM5OTVCODAiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTAsMTkxLjAxNyBMMTUuMjA0LDE5NC4xMDggTDE3LjQxMSwxOTAuMjI2IEwxNy40MTEsNTguNTAzIEwxNS4yMDQsNTUuOTQyIEwwLDY0LjYgTDAsMTkxLjAxNyIgZmlsbD0iIzdCM0Y2NSI+PC9wYXRoPg0KCQk8cGF0aCBkPSJNNzMuOTMzLDY5LjcwOCBMMTUuMjA4LDU1Ljk0MiBMMTUuMjA4LDE5NC4xMDggTDI0LjAwNiwxOTMuMjkgTDM3Ljc1LDIxMy4yMzMgTDQ4LjM1LDE5MS4wMjggTDczLjkzMywxODguNjUgTDczLjkzMyw2OS43MDgiIGZpbGw9IiNDMTdCOUQiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTMzLjk1OCwxOTguMTMzIEw2MC4wMjEsMjAzLjM4MyBMNjEuNzM3LDE5OS4zMzggTDYxLjczNywzNy40NCBMNjAuMDIxLDMzLjc3NSBMMzMuOTU4LDQ2Ljk4MyBMMzMuOTU4LDE5OC4xMzMiIGZpbGw9IiM3QjNGNjUiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTIwOC43MzQsODEuNTE2IEw2MC4wMjEsMzMuNzc1IEw2MC4wMjEsMjAzLjM4NyBMNzcuMjQyLDIwMS4xNzEgTDk4Ljg3NSwyMzIuMDMzIEwxMTYuMDAxLDE5Ni4xODMgTDIwOC43MzQsMTg0LjI1IEwyMDguNzM0LDgxLjUxNiIgZmlsbD0iI0MxN0I5RCI+PC9wYXRoPg0KCQk8cGF0aCBkPSJNMTgxLjgzMywyNTYuNDkyIEwxNDQuMjY3LDI0NS45NjcgTDEwOC43NTgsMjA1LjQ2NyBMMTU0Ljc5MSwyMDQuOTk5IEwxODEuODMzLDI1Ni40OTIiIGZpbGw9IiM5OTVCODAiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTg5LjU5MSwyMDguOTUgTDEyNy45MjEsMjE2LjM2NyBMMTMwLjg5OCwyMTMuODAxIEwxMzAuODk4LDQuMTE3IEwxMjcuOTIxLDAgTDg5LjU5MSwxOS4xNTggTDg5LjU5MSwyMDguOTUiIGZpbGw9IiM3QjNGNjUiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTI1Niw2NC4wMzMgTDEyNy45MjUsMCBMMTI3LjkyNSwyMTYuMzY3IEwxNTAuNTIyLDIxMS44MzkgTDE4MS44MzMsMjU2LjQ5MiBMMjA4LjczNCwyMDAuMTgzIEwyMDguNzE3LDIwMC4xODEgTDI1NiwxOTAuNzA4IEwyNTYsNjQuMDMzIiBmaWxsPSIjQzE3QjlEIj48L3BhdGg+DQoJPC9nPg0KPC9zdmc+DQo=" camel.apache.org/provider: "Apache Software Foundation" 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 FIFO Sink" description: Send message to an AWS SNS FIFO Topic. required: - topicNameOrArn - region type: object properties: topicNameOrArn: title: Topic Name description: The SNS Topic name or ARN. type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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). type: boolean default: false autoCreateTopic: title: Autocreate Topic description: Setting the autocreation of the SNS topic. type: boolean default: false useDefaultCredentialsProvider: title: Default Credentials Provider description: Set whether the SNS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the SNS client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the SNS client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in SNS. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:aws2-sns" - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[subject]}" steps: - setHeader: name: CamelAwsSnsSubject simple: "${header[subject]}" - simple: "${header[ce-subject]}" steps: - setHeader: name: CamelAwsSnsSubject simple: "${header[ce-subject]}" - setProperty: name: contentBasedDeduplication constant: "{{contentBasedDeduplication}}" - choice: when: - simple: "${header[group]}" steps: - setProperty: name: CamelAwsSnsMessageGroupId simple: "${header[group]}" - simple: "${header[ce-group]}" steps: - setProperty: name: CamelAwsSnsMessageGroupId simple: "${header[ce-group]}" otherwise: steps: - setProperty: name: CamelAwsSnsMessageGroupId simple: "${exchangeId}" - choice: when: - simple: "${exchangeProperty.contentBasedDeduplication} == 'true'" steps: - to: uri: "aws2-sns:{{topicNameOrArn}}" parameters: autoCreateTopic: "{{autoCreateTopic}}" accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" messageGroupIdStrategy: "usePropertyValue" messageDeduplicationIdStrategy: "useContentBasedDeduplication" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" uriEndpointOverride: "{{?uriEndpointOverride}}" overrideEndpoint: "{{overrideEndpoint}}" otherwise: steps: - to: uri: "aws2-sns:{{topicNameOrArn}}" parameters: autoCreateTopic: "{{autoCreateTopic}}" accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" messageGroupIdStrategy: "usePropertyValue" messageDeduplicationIdStrategy: "useExchangeId" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" uriEndpointOverride: "{{?uriEndpointOverride}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-sns-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8c3ZnICAgdmlld0JveD0iMCAwIDI1NiAyNTciIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiPg0KCTxnPg0KCQk8cGF0aCBkPSJNOTguODc1LDIzMi4wMzMgTDcyLjQ0MiwyMjQuNjI1IEw0Ny40NDEsMTk2LjExNyBMNzguNzEzLDE5NS4yNTQgTDk4Ljg3NSwyMzIuMDMzIiBmaWxsPSIjOTk1QjgwIj48L3BhdGg+DQoJCTxwYXRoIGQ9Ik0zNy43NSwyMTMuMjMzIEwyMi44NzUsMjA5LjA2NyBMOC44MTcsMTkzLjAzMyBMMjUuODk5LDE5MC4yMjQgTDM3Ljc1LDIxMy4yMzMiIGZpbGw9IiM5OTVCODAiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTAsMTkxLjAxNyBMMTUuMjA0LDE5NC4xMDggTDE3LjQxMSwxOTAuMjI2IEwxNy40MTEsNTguNTAzIEwxNS4yMDQsNTUuOTQyIEwwLDY0LjYgTDAsMTkxLjAxNyIgZmlsbD0iIzdCM0Y2NSI+PC9wYXRoPg0KCQk8cGF0aCBkPSJNNzMuOTMzLDY5LjcwOCBMMTUuMjA4LDU1Ljk0MiBMMTUuMjA4LDE5NC4xMDggTDI0LjAwNiwxOTMuMjkgTDM3Ljc1LDIxMy4yMzMgTDQ4LjM1LDE5MS4wMjggTDczLjkzMywxODguNjUgTDczLjkzMyw2OS43MDgiIGZpbGw9IiNDMTdCOUQiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTMzLjk1OCwxOTguMTMzIEw2MC4wMjEsMjAzLjM4MyBMNjEuNzM3LDE5OS4zMzggTDYxLjczNywzNy40NCBMNjAuMDIxLDMzLjc3NSBMMzMuOTU4LDQ2Ljk4MyBMMzMuOTU4LDE5OC4xMzMiIGZpbGw9IiM3QjNGNjUiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTIwOC43MzQsODEuNTE2IEw2MC4wMjEsMzMuNzc1IEw2MC4wMjEsMjAzLjM4NyBMNzcuMjQyLDIwMS4xNzEgTDk4Ljg3NSwyMzIuMDMzIEwxMTYuMDAxLDE5Ni4xODMgTDIwOC43MzQsMTg0LjI1IEwyMDguNzM0LDgxLjUxNiIgZmlsbD0iI0MxN0I5RCI+PC9wYXRoPg0KCQk8cGF0aCBkPSJNMTgxLjgzMywyNTYuNDkyIEwxNDQuMjY3LDI0NS45NjcgTDEwOC43NTgsMjA1LjQ2NyBMMTU0Ljc5MSwyMDQuOTk5IEwxODEuODMzLDI1Ni40OTIiIGZpbGw9IiM5OTVCODAiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTg5LjU5MSwyMDguOTUgTDEyNy45MjEsMjE2LjM2NyBMMTMwLjg5OCwyMTMuODAxIEwxMzAuODk4LDQuMTE3IEwxMjcuOTIxLDAgTDg5LjU5MSwxOS4xNTggTDg5LjU5MSwyMDguOTUiIGZpbGw9IiM3QjNGNjUiPjwvcGF0aD4NCgkJPHBhdGggZD0iTTI1Niw2NC4wMzMgTDEyNy45MjUsMCBMMTI3LjkyNSwyMTYuMzY3IEwxNTAuNTIyLDIxMS44MzkgTDE4MS44MzMsMjU2LjQ5MiBMMjA4LjczNCwyMDAuMTgzIEwyMDguNzE3LDIwMC4xODEgTDI1NiwxOTAuNzA4IEwyNTYsNjQuMDMzIiBmaWxsPSIjQzE3QjlEIj48L3BhdGg+DQoJPC9nPg0KPC9zdmc+DQo=" camel.apache.org/provider: "Apache Software Foundation" 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 Amazon Simple Notification Service (SNS) topic. required: - topicNameOrArn - region type: object properties: topicNameOrArn: title: Topic Name description: The SNS topic name name or Amazon Resource Name (ARN). type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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. type: boolean default: false useDefaultCredentialsProvider: title: Default Credentials Provider description: If true, the SNS client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the SNS client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the SNS client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in SNS. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:core" - "camel:aws2-sns" - "camel:kamelet" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[subject]}" steps: - setHeader: name: CamelAwsSnsSubject simple: "${header[subject]}" - simple: "${header[ce-subject]}" steps: - setHeader: name: CamelAwsSnsSubject simple: "${header[ce-subject]}" - to: uri: "aws2-sns:{{topicNameOrArn}}" parameters: autoCreateTopic: "{{autoCreateTopic}}" accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-sqs-batch-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" 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: "Apache Software Foundation" 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 Batch Sink" description: Send Batch message to an AWS SQS Queue. required: - queueNameOrArn - region - batchSeparator type: object properties: queueNameOrArn: title: Queue Name description: The SQS Queue name or ARN type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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. type: boolean default: false batchSeparator: title: Batch Separator description: The batch separator string type: string example: "," 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: 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 default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the SQS client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the SQS client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in SQS. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:aws2-sqs" - "camel:kamelet" template: from: uri: kamelet:source steps: - to: uri: "aws2-sqs:{{queueNameOrArn}}" parameters: autoCreateQueue: "{{autoCreateQueue}}" accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" batchSeparator: "{{batchSeparator}}" operation: "sendBatchMessage" amazonAWSHost: "{{?amazonAWSHost}}" protocol: "{{?protocol}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-sqs-fifo-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" 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: "Apache Software Foundation" 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 FIFO Sink" description: Send message to an AWS SQS FIFO Queue. required: - queueNameOrArn - region type: object properties: queueNameOrArn: title: Queue Name description: The SQS Queue name or ARN type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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) type: boolean default: false autoCreateQueue: title: Autocreate Queue description: Setting the autocreation of the SQS queue. type: boolean 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: 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 default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the SQS client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the SQS client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in SQS. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:aws2-sqs" - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - setProperty: name: contentBasedDeduplication constant: "{{contentBasedDeduplication}}" - choice: when: - simple: "${header[group]}" steps: - setProperty: name: CamelAwsMessageGroupId simple: "${header[group]}" - simple: "${header[ce-group]}" steps: - setProperty: name: CamelAwsMessageGroupId simple: "${header[ce-group]}" otherwise: steps: - setProperty: name: CamelAwsMessageGroupId simple: "${exchangeId}" - choice: when: - simple: "${exchangeProperty.contentBasedDeduplication} == 'true'" steps: - to: uri: "aws2-sqs:{{queueNameOrArn}}" parameters: autoCreateQueue: "{{autoCreateQueue}}" accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" messageGroupIdStrategy: "usePropertyValue" messageDeduplicationIdStrategy: "useContentBasedDeduplication" amazonAWSHost: "{{?amazonAWSHost}}" protocol: "{{?protocol}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" otherwise: steps: - to: uri: "aws2-sqs:{{queueNameOrArn}}" parameters: autoCreateQueue: "{{autoCreateQueue}}" accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" messageGroupIdStrategy: "usePropertyValue" messageDeduplicationIdStrategy: "useExchangeId" amazonAWSHost: "{{?amazonAWSHost}}" protocol: "{{?protocol}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-sqs-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" 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: "Apache Software Foundation" 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 messages to an Amazon Simple Queue Service (SQS) queue. required: - queueNameOrArn - region type: object properties: queueNameOrArn: title: Queue Name description: The SQS Queue name or or Amazon Resource Name (ARN). type: string accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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: Automatically create the SQS queue. type: boolean 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). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the SQS client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the SQS client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in SQS. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:aws2-sqs" - "camel:kamelet" template: from: uri: kamelet:source steps: - to: uri: "aws2-sqs:{{queueNameOrArn}}" parameters: autoCreateQueue: "{{autoCreateQueue}}" accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" amazonAWSHost: "{{?amazonAWSHost}}" protocol: "{{?protocol}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-sqs-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" 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: "Apache Software Foundation" 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: definition: title: "AWS SQS Source" description: Receive data from AWS SQS. required: - queueNameOrArn - region type: object properties: queueNameOrArn: title: Queue Name description: The SQS Queue Name or ARN. type: string deleteAfterRead: title: Auto-delete Messages description: Delete messages after consuming them. type: boolean default: true accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:awsAccessKeyID - urn:keda:required secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:awsSecretAccessKey - urn:keda:required region: title: AWS Region description: The AWS region to access. type: string 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. type: boolean 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). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the SQS client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the SQS client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in SQS. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 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 default: false maxMessagesPerPoll: title: Max Messages Per Poll description: The maximum number of messages to return. Amazon SQS never returns more messages than this value (however, fewer messages might be returned). Valid values 1 to 10. Default 1. type: integer minimum: "1" maximum: "10" default: 1 waitTimeSeconds: title: Wait Time Seconds description: The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. If a message is available, the call returns sooner than WaitTimeSeconds. If no messages are available and the wait time expires, the call does not return a message list. type: integer minimum: "0" visibilityTimeout: title: Visibility Timeout description: The duration (in seconds) that the received messages are hidden from subsequent retrieve requests after being retrieved by a ReceiveMessage request. type: integer minimum: "0" dataTypes: out: default: text headers: CamelAwsSqsMessageId: title: The SQS Message Id description: The Amazon SQS message ID. type: string CamelAwsSqsReceiptHandle: title: The SQS Message Receipt Handle description: The Amazon SQS message receipt handle. type: string CamelAwsSqsMD5OfBody: title: The SQS Message MD5 Checksum description: The content type of the retrieved object. default: application/octet-stream type: string CamelAwsSqsAttributes: title: The SQS Message System Attributes description: A map of the attributes requested in ReceiveMessage to their respective values, the Map type is Map type: object CamelAwsSqsMessageAttributes: title: The SQS Message Attributes description: The Amazon SQS message attributes, the Map type is Map type: object types: text: format: "text-plain" description: Default String representation of the SQS message received from the queue. mediaType: text/plain cloudevents: format: "aws2-sqs:application-cloudevents" description: Output data type represents AWS SQS receive message response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with respective data from the SQS message and its derived object. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id. type: string CamelCloudEventType: title: CloudEvent Type description: The event type. default: "org.apache.camel.event.aws.sqs.receiveMessage" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the SQS Received message receipt handle with prefix "aws.sqs.queue.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. The SQS message ID. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:core" - "camel:aws2-sqs" - "camel:kamelet" template: from: uri: "aws2-sqs:{{queueNameOrArn}}" parameters: autoCreateQueue: "{{autoCreateQueue}}" secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" deleteAfterRead: "{{deleteAfterRead}}" amazonAWSHost: "{{?amazonAWSHost}}" protocol: "{{?protocol}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" delay: "{{delay}}" greedy: "{{greedy}}" maxMessagesPerPoll: "{{maxMessagesPerPoll}}" waitTimeSeconds: "{{?waitTimeSeconds}}" visibilityTimeout: "{{?visibilityTimeout}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-sts-assume-role-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQ5MCIgcHJlc2VydmVBc3BlY3RSYXRpbz0ieE1pZFlNaWQiIHZpZXdCb3g9IjAgMCAyNTYgNDkwIiB3aWR0aD0iMjU2IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiMzYzQ5MjkiPjxwYXRoIGQ9Im0yMSAxNjUuNzUtMjEgNi44NTYgMjEuNzUgMi41MTl6Ii8+PHBhdGggZD0ibTE5Ljk1NSAyMDYuODA2IDEwOC4wNDUgNi45MDggMTA4LjA0NS02LjkwOC0xMDguMDQ1LTIxLjA1NnoiLz48cGF0aCBkPSJtMjM0LjUgMTc1LjEyNSAyMS41LTIuNTE5LTIxLjUtNS43MzF6Ii8+PC9nPjxwYXRoIGQ9Im0xNTcuMzg3IDM1Mi45MjkgNTYuNjA2IDEzLjM5Ni01Ni43NTYgMTcuMTE2eiIgZmlsbD0iI2I3Y2E5ZCIvPjxwYXRoIGQ9Im0xOS45NTUgOTIuMjIxdi0zOC4yMDJsMTA4LjA0NS01NC4wMTkuNDgyLjQwNS0uMjQ4IDQ4LjQ5Ni0uMjM0LjEwMi0uNDA1IDEuMTE3LTU5LjA5OCAyMy44NTYtLjU0MiA4NC4wMzcgMzEuNDUyLTUuMjkgMjguNTkzLTUuNzIxdjM0My4wMjhsLTMyLjM2OS0xNi4xNzd2LTQ1Ljc3MWwtMjguMzU0LTExLjMzOHYtMjE0LjY3NWwtNDcuMzIyIDQuNzM3di0zOC4xOTVsLTE5Ljk1NSAzLjk5NXYtNzIuNDA4eiIgZmlsbD0iIzRiNjEyYyIvPjxwYXRoIGQ9Im05OS40MDggMTUyLjcyNy0zMi4xMzEgNi40MjR2LTg1Ljg3MWwzMi4xMzEgMTAuMDE4eiIgZmlsbD0iIzc1OWMzZSIvPjxwYXRoIGQ9Im0xODMuOTI1IDI3Ljk1OSA1Mi4xMDYgMjYuMDZ2MzguMjAybDE5Ljk2OSA3Ljk3N3Y3Mi40MDJsLTE5Ljk2OS0zLjk4OXYzOC4xOTVsLTI1LjQ0MS0yLjUzOC0yMS44ODEtMi4xOTl2NDIuOTM5aDQ3LjMzNnYzOS4yODRsLTIxLjk5NyAxLjk3NHYzOS42MTFsLTUzLjY5MiAxMC42NzJ2NDUuNzdsNTMuNTctMTUuODk5LjEyMiA0MC4zOC01My42OTIgMjEuMjgydjQ1Ljc3MWwtMzIuMzU2IDE2LjE3N3YtMzQzLjAyOGwyOC41NzIgNS43MSAzMC41ODMgNC4wMzh2LTgyLjc4NGwtNTguMzM4LTIyLjQ5OC0uODE3LTIuNDY1di00OS4wMDN6IiBmaWxsPSIjNzU5YzNlIi8+PHBhdGggZD0ibTE2MC4zNTYgNjEuOTQxLTMyLjM1Ni0xMi45MzEtNjAuNzIzIDI0LjI3IDMyLjEzMSAxMC4wMTh6IiBmaWxsPSIjM2M0OTI5Ii8+PHBhdGggZD0ibTY3LjI3NyA3My4yOCA2MC43MjMtMjQuMjcgMTIuNzc1IDUuMTA0IDE5LjU4MSA3LjgyNyAyOC4zNTMgMTEuMzUzLTEuNTE1IDEuNTQxLTI4Ljg3NiA4Ljk5MS0xLjc0LS41MjgtMjguNTc4LTEwLjAxOC0yOC41OTIgMTAuMDE4eiIgZmlsbD0iIzNjNDkyOSIvPjxwYXRoIGQ9Im0xNTYuNTc4IDgzLjI5OCAzMi4xMzEtMTAuMDA0djg1Ljg2NGwtMzIuMTMxLTYuNDQ2eiIgZmlsbD0iIzRiNjEyYyIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS STS" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "AWS STS Assume Role Action" description: Assume a role through STS required: - region type: object properties: accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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: Set whether the STS client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the STS client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the STS client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in STS. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:kamelet" - "camel:core" - "camel:aws2-sts" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[role-arn]}" steps: - setHeader: name: CamelAwsStsRoleArn simple: "${header[role-arn]}" - simple: "${header[ce-role-arn]}" steps: - setHeader: name: CamelAwsStsRoleArn simple: "${header[ce-role-arn]}" - choice: when: - simple: "${header[role-session-name]}" steps: - setHeader: name: CamelAwsStsRoleSessionName simple: "${header[role-session-name]}" - simple: "${header[ce-role-session-name]}" steps: - setHeader: name: CamelAwsStsRoleSessionName simple: "${header[ce-role-session-name]}" - to: uri: "aws2-sts://default" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" operation: "assumeRole" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-timestream-query-sink annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjU2cHgiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDx0aXRsZT5BV1MgVGltZXN0cmVhbTwvdGl0bGU+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9IjAlIiB5MT0iMTAwJSIgeDI9IjEwMCUiIHkyPSIwJSIgaWQ9ImxpbmVhckdyYWRpZW50LTEiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMkUyN0FEIiBvZmZzZXQ9IjAlIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiM1MjdGRkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8Zz4KICAgICAgICA8cmVjdCBmaWxsPSJ1cmwoI2xpbmVhckdyYWRpZW50LTEpIiB4PSIwIiB5PSIwIiB3aWR0aD0iMjU2IiBoZWlnaHQ9IjI1NiI+PC9yZWN0PgogICAgICAgIDxwYXRoIGQ9Ik0xOTQuOTQyMjM3LDE2Ny4zMzc2IEwxOTkuMDQ3MTU1LDE2My4yIEwxNzkuOTk4ODEsMTYzLjIgTDE3NC45NjM2OTcsMTU4LjEyNDggTDE2NS40Mzk1MjQsMTY3LjcyNDggTDEzNy43OTcxOTksMTM5Ljg2MjQgTDE0Mi4yODYyNiwxMzUuMzM3NiBMMTY1LjQzOTUyNCwxNTguNjc1MiBMMTc0Ljk2MzY5NywxNDkuMDc1MiBMMTgyLjYyNzQ4MSwxNTYuOCBMMTk5LjA0NzE1NSwxNTYuOCBMMTk0Ljk0MjIzNywxNTIuNjYyNCBMMTk5LjQzMTI5NywxNDguMTM3NiBMMjExLjIsMTYwIEwxOTkuNDMxMjk3LDE3MS44NjI0IEwxOTQuOTQyMjM3LDE2Ny4zMzc2IFogTTE2NS40Mzk1MjQsMTE3LjA3NTIgTDE3MC40NzQ2MzYsMTEyIEwxODAuNTE2MjksMTEyIEwxOTAuMDI0NTg5LDEyMi42NjI0IEwxODUuMzAwNTk5LDEyNi45Mzc2IEwxNzcuNjg3NjEsMTE4LjQgTDE3My4xMDMzMDgsMTE4LjQgTDE2NS40Mzk1MjQsMTI2LjEyNDggTDE1Ny43NzU3MzksMTE4LjQgTDE0MC4wNDE3MjksMTE4LjQgTDE0MC4wNDE3MjksMTEyIEwxNjAuNDA0NDExLDExMiBMMTY1LjQzOTUyNCwxMTcuMDc1MiBaIE0xOTkuMDQ3MTU1LDExNS4yIEwxOTQuMDEyMDQzLDExNS4yIEwxOTQuMDEyMDQzLDEwOC44IEwyMDkuODg1NjY0LDEwOC44IEwyMDkuODg1NjY0LDEyNC44IEwyMDMuNTM2MjE1LDEyNC44IEwyMDMuNTM2MjE1LDExOS43MjQ4IEwxOTUuMzI2Mzc5LDEyOCBMMjAzLjUzNjIxNSwxMzYuMjc1MiBMMjAzLjUzNjIxNSwxMzEuMiBMMjA5Ljg4NTY2NCwxMzEuMiBMMjA5Ljg4NTY2NCwxNDcuMiBMMTk0LjAxMjA0MywxNDcuMiBMMTk0LjAxMjA0MywxNDAuOCBMMTk5LjA0NzE1NSwxNDAuOCBMMTkwLjgzNzMxOCwxMzIuNTI0OCBMMTgyLjYyNzQ4MSwxNDAuOCBMMTYzLjU3OTEzNSwxNDAuOCBMMTU4LjE1OTg4MSwxNDYuMjYyNCBMMTUzLjY3MDgyMSwxNDEuNzM3NiBMMTYwLjk1MDQ2NCwxMzQuNCBMMTc5Ljk5ODgxLDEzNC40IEwxOTkuMDQ3MTU1LDExNS4yIFogTTEzNy43OTcxOTksMTU3LjczNzYgTDE0NC4xNDY2NDgsMTUxLjMzNzYgTDE0OC42MzU3MDgsMTU1Ljg2MjQgTDE0Mi4yODYyNiwxNjIuMjYyNCBMMTM3Ljc5NzE5OSwxNTcuNzM3NiBaIE0xMDUuMTE5NzYyLDQ0LjggQzEzNi45MjczMjUsNDQuOCAxNTkuMDkwMDc1LDU0LjkxODQgMTU5LjA5MDA3NSw2NCBDMTU5LjA5MDA3NSw3My4wODE2IDEzNi45MjczMjUsODMuMiAxMDUuMTE5NzYyLDgzLjIgQzczLjMxMjE5OSw4My4yIDUxLjE0OTQ0ODYsNzMuMDgxNiA1MS4xNDk0NDg2LDY0IEM1MS4xNDk0NDg2LDU0LjkxODQgNzMuMzEyMTk5LDQ0LjggMTA1LjExOTc2Miw0NC44IEwxMDUuMTE5NzYyLDQ0LjggWiBNMTM2Ljg2NzAwNSwxMDUuNiBMMTMwLjUxNzU1NiwxMDUuNiBMMTMwLjUxNzU1NiwxNzYgQzEzMC41MTc1NTYsMTc3Ljc2NjQgMTMxLjkzNjY1OCwxNzkuMiAxMzMuNjkyMjgxLDE3OS4yIEwxNTkuMDkwMDc1LDE3OS4yIEwxNTkuMDkwMDc1LDE5MiBDMTU5LjA5MDA3NSwyMDEuMDgxNiAxMzYuOTI3MzI1LDIxMS4yIDEwNS4xMTk3NjIsMjExLjIgQzc0LjMyNDkzNiwyMTEuMiA1MS4xNDk0NDg2LDIwMC4wNjcyIDUxLjE0OTQ0ODYsMTkyLjg0OCBMNTEuMTQ5NDQ4NiwxNjguNTU2OCBDNjAuODU0NTgwOCwxNzYuOTA4OCA4MC44NTUzNDQsMTgyLjQgMTA1LjExOTc2MiwxODIuNCBDMTEzLjAwNTc3NywxODIuNCAxMjAuNjY2Mzg3LDE4MS43OTUyIDEyNy44NzkzNiwxODAuNTk4NCBMMTI2Ljg1MDc1LDE3NC4yODE2IEMxMTkuOTc0Mjk3LDE3NS40MjA4IDExMi42NjI5MDcsMTc2IDEwNS4xMTk3NjIsMTc2IEM3My4zMTIxOTksMTc2IDUxLjE0OTQ0ODYsMTY1Ljg4MTYgNTEuMTQ5NDQ4NiwxNTYuOCBMNTEuMTQ5NDQ4NiwxMjMuNzU2OCBDNjAuODU0NTgwOCwxMzIuMTA4OCA4MC44NTUzNDQsMTM3LjYgMTA1LjExOTc2MiwxMzcuNiBDMTEzLjAwNTc3NywxMzcuNiAxMjAuNjY2Mzg3LDEzNi45OTUyIDEyNy44NzkzNiwxMzUuNzk4NCBMMTI2Ljg1MDc1LDEyOS40ODE2IEMxMTkuOTc0Mjk3LDEzMC42MjA4IDExMi42NjI5MDcsMTMxLjIgMTA1LjExOTc2MiwxMzEuMiBDNzMuMzEyMTk5LDEzMS4yIDUxLjE0OTQ0ODYsMTIxLjA4MTYgNTEuMTQ5NDQ4NiwxMTIgTDUxLjE0OTQ0ODYsNzUuNzU2OCBDNjAuODU0NTgwOCw4NC4xMDg4IDgwLjg1NTM0NCw4OS42IDEwNS4xMTk3NjIsODkuNiBDMTI5LjM4NDE4LDg5LjYgMTQ5LjM4NDk0Myw4NC4xMDg4IDE1OS4wOTAwNzUsNzUuNzU2OCBMMTU5LjA5MDA3NSwxMDguOCBMMTY1LjQzOTUyNCwxMDguOCBMMTY1LjQzOTUyNCw2NCBDMTY1LjQzOTUyNCw0OS40MDQ4IDEzOS41MDgzNzYsMzguNCAxMDUuMTE5NzYyLDM4LjQgQzcwLjczMTE0ODIsMzguNCA0NC44LDQ5LjQwNDggNDQuOCw2NCBMNDQuOCwxOTIuODQ4IEM0NC44LDIwNi4wMzIgNzIuOTg4Mzc3MywyMTcuNiAxMDUuMTE5NzYyLDIxNy42IEMxMzkuNTA4Mzc2LDIxNy42IDE2NS40Mzk1MjQsMjA2LjU5NTIgMTY1LjQzOTUyNCwxOTIgTDE2NS40Mzk1MjQsMTc5LjIgTDIwOS44ODU2NjQsMTc5LjIgTDIwOS44ODU2NjQsMTcyLjggTDEzNi44NjcwMDUsMTcyLjggTDEzNi44NjcwMDUsMTA1LjYgWiIgZmlsbD0iI0ZGRkZGRiI+PC9wYXRoPgogICAgPC9nPgo8L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Timestream" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "AWS Timestream Query Sink" description: Query an AWS Timestream Database required: - region type: object properties: accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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 CloudWatch client loads credentials through a default credentials provider. If false, it uses the basic authentication method (access key and secret key). type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Timestream client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Timestream client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Timestream. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials 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 default: false dependencies: - "camel:core" - "camel:aws2-timestream" - "camel:kamelet" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[query]}" steps: - setHeader: name: CamelAwsTimestreamQueryString simple: "${header[query]}" - simple: "${header[ce-query]}" steps: - setHeader: name: CamelAwsTimestreamQueryString simple: "${header[ce-query]}" - to: uri: "aws2-timestream:query" parameters: accessKey: "{{?accessKey}}" secretKey: "{{?secretKey}}" region: "{{region}}" operation: "query" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" uriEndpointOverride: "{{?uriEndpointOverride}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" overrideEndpoint: "{{overrideEndpoint}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: aws-translate-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyLjg4IDg0LjgxIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjIuODggODQuODEiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDt9PC9zdHlsZT48Zz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNMTE4LjI5LDEwLjljMi4zMSwyLjMxLDMuOSw1LjM0LDQuNDEsOC43MmMwLjE5LDEuMywwLjE4LDIuNDIsMC4xOCwzLjd2MjEuMDljMCwxLjE0LDAuMDMsMi4yNy0wLjA3LDMuNDEgYy0wLjQ0LDQuNzItMy4wOCw5LjA3LTcuMDYsMTEuNjRjLTUuMDQsMy4yNy0xMC44LDIuNTItMTYuODMsMi41MmMxLjk5LDUuNDgsNiwxMC41NCwxMC4zMywxNC4zN2wtMS42MiwzLjA0bC0wLjA1LTAuMDIgYy0xMC40OS0yLjctMjEuNTUtOC45LTI4LjI5LTE3LjRjLTQuMTctMC4wNC03LjU4LDAuMDEtMTEuNzQtMC41NWMtNC41OCwyLjc4LTEwLjAzLDQuNTktMTUuNDEsNC41OSBjLTMuNDksNC4zNS03LjU1LDguMDctMTIuMTksMTEuMTJjLTUuMDEsMy4yOS0xMC42Nyw1Ljc5LTE2Ljk4LDcuNDVjLTAuMzEsMC4wOC0wLjYyLDAuMTYtMC45NCwwLjIgYy0xLjA5LDAuMTItMi4yMy0wLjI3LTMuMDEtMS4xNWMtMS4yOC0xLjQ0LTEuMTQtMy42NSwwLjMtNC45M2M0LjA4LTMuNjEsNi4zNi03LjU3LDcuOTktMTIuNjdjLTcuOTYsMC0xNC42MiwwLjg0LTIxLjEtNS42MyBjLTguMDktOC4xLTYuMDgtMjYuOTMtNS42Ny0zOC4yM2MwLjEzLTMuNjMtMC4xMi02LjAyLDEuMzMtOS44MUMzLjc1LDcuNDIsNy42NSwzLjQzLDEyLjU4LDEuNDVjNC42MS0xLjg2LDkuNjItMS40LDE0LjQ4LTEuNCBoMjkuNTVjMi4xNywwLDMuOTQtMC4wMSw2LjE2LDAuNTFjMy43NCwwLjg2LDcuMTMsMi44NSw5Ljc4LDUuNzRsMzQuMTIsMC4wMUMxMTEuMTgsNi4zMSwxMTUuMDUsNy42NSwxMTguMjksMTAuOUwxMTguMjksMTAuOXogTTk5LjkzLDQyLjc5aC04Ljk3bC0xLjI0LDQuNDZoLTguMDRjMi42OS03LjYsNS4zOS0xNS4yMSw4LjA4LTIyLjgyYzAuOTctMi43NSwyLjA3LTcuMyw1LjYtNy4zYzMuNjYsMCw0Ljg3LDQuMTcsNS44OSw3LjA1IGw4LjE4LDIzLjA2aC04LjI0TDk5LjkzLDQyLjc5TDk5LjkzLDQyLjc5eiBNOTguMjgsMzYuOTRsLTIuODItOS43MmwtMi44LDkuNzJIOTguMjhMOTguMjgsMzYuOTR6IE04My4xNSw3MS42NmwtNS44My00LjgyIGwtNy4yOCw4Ljk5bC0xMC41Ny05LjE3bC00Ljk5LDUuNjRsMTEuNDUsOS4xMWw5LjI4LTAuOEw4My4xNSw3MS42Nkw4My4xNSw3MS42NnogTTc2LjY1LDkuODZjMy40MiwxMy4zMSw3LjA3LDM2LjY5LTIuMTEsNDguNTMgYzIuMTcsMC4wMyw0LjMxLDAuMDMsNi40OCwwLjAzYzQuOTIsNi41NCwxMS4yNCwxMS4xMSwxOC42OCwxNC40NWMwLjcsMC4zMSwxLjQxLDAuNjIsMi4xMiwwLjljLTIuNTMtMy4wNi00Ljc1LTYuNTktNi4xNi0xMC4zMyBjLTAuNjUtMS43My0xLTMuMjUtMS40NC01LjAyYzIuMDQsMCw0LjA0LDAuMDIsNi4wOSwwLjA5YzQuNTMsMC4xNiw5LjMsMC4yOSwxMy4wNy0xLjgyYzEuNjMtMC45MSwyLjk0LTIuMiwzLjk3LTMuNzUgYzAuOTEtMS4zOSwxLjU1LTIuOTgsMS44My00LjY3YzAuMjEtMS4yOCwwLjE0LTIuNjksMC4xNC0zLjk5VjIyLjYzYzAtMC41NywwLjAxLTEuMDktMC4wMy0xLjY2Yy0wLjIzLTIuOTMtMS41My01LjU5LTMuNTEtNy41NyBjLTEuOTItMS45My00LjQ5LTMuMjEtNy4zMy0zLjQ5Yy0wLjczLTAuMDctMS40NS0wLjA2LTIuMTgtMC4wNkw3Ni42NSw5Ljg2TDc2LjY1LDkuODZ6IE0yMS4yMSwxMy40OWgxMy40NFY5LjdoNnYzLjc5aDEzLjQ5djYuMjIgaC0yLjc3Yy0wLjIyLDEuNzUtMC42MywzLjQ5LTEuMTksNS4yMWwwLjAxLDBjLTAuNTcsMS43NS0xLjM1LDMuNTEtMi4yOCw1LjI1Yy0xLjU4LDIuOTUtMy42Miw1Ljc4LTUuOTgsOC41IGMzLjc4LDQuNTIsOC40Niw4LjQ1LDE0LjA1LDEyLjAzbC0zLjA5LDQuODFjLTUuODYtMy43Ni0xMC44NC03LjktMTQuOTMtMTIuNjdjLTMuNjYsMy41NC03LjgxLDYuODQtMTIuMTcsOS44NWwtMy4yNS00LjcgYzQuMzEtMi45OCw4LjQtNi4yNCwxMS45Mi05LjcxYy0zLjI1LTQuNzUtNS43My0xMC4wOC03LjQ1LTE2LjIxbDUuNTEtMS41NGMxLjQxLDUuMDMsMy4zOSw5LjQ1LDUuOTMsMTMuNDEgYzEuNzMtMi4xLDMuMjMtNC4yNSw0LjQyLTYuNDZjMC43NS0xLjQsMS4zOS0yLjg2LDEuODgtNC4zNWwwLjAxLDB2MGMwLjM3LTEuMTEsMC42NS0yLjI2LDAuODQtMy40MkgyMS4yMVYxMy40OUwyMS4yMSwxMy40OXoiLz48L2c+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "AWS Translate" camel.apache.org/kamelet.namespace: "AWS" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "AWS Translate Action" description: Translate a text in a specific language. required: - region - sourceLanguage - targetLanguage type: object properties: accessKey: title: Access Key description: The access key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from AWS. type: string format: password x-descriptors: - urn:camel:group:credentials region: title: AWS Region description: The AWS region to access. type: string 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"] sourceLanguage: title: Source Language description: The source language of the translating text. type: string example: it enum: ["ar", "zh", "zh-TW", "cs", "da", "nl", "en", "fi", "fr", "de", "he", "hi", "id", "it", "ja", "ko", "ms", "no", "fa", "pl", "pt", "ru", "es", "sv", "tr"] targetLanguage: title: Target Language description: The target language of the translating text. type: string example: it enum: ["ar", "zh", "zh-TW", "cs", "da", "nl", "en", "fi", "fr", "de", "he", "hi", "id", "it", "ja", "ko", "ms", "no", "fa", "pl", "pt", "ru", "es", "sv", "tr"] useDefaultCredentialsProvider: title: Default Credentials Provider description: Set whether the Translate client should expect to load credentials through a default credentials provider or to expect static credentials to be passed in. type: boolean default: false useProfileCredentialsProvider: title: Profile Credentials Provider description: Set whether the Translate client should expect to load credentials through a profile credentials provider. type: boolean default: false useSessionCredentials: title: Session Credentials description: Set whether the Translate client should expect to use Session Credentials. This is useful in situation in which the user needs to assume a IAM role for doing operations in Translate. type: boolean default: false profileCredentialsName: title: Profile Credentials Name description: If using a profile credentials provider this parameter sets the profile name. type: string sessionToken: title: Session Token description: Amazon AWS Session Token used when the user needs to assume a IAM role. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:dns" - "camel:kamelet" - "camel:aws2-translate" template: from: uri: "kamelet:source" steps: - to: uri: "aws2-translate://translate" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{region}}" sourceLanguage: "{{sourceLanguage}}" targetLanguage: "{{targetLanguage}}" useDefaultCredentialsProvider: "{{useDefaultCredentialsProvider}}" useProfileCredentialsProvider: "{{useProfileCredentialsProvider}}" useSessionCredentials: "{{useSessionCredentials}}" profileCredentialsName: "{{?profileCredentialsName}}" sessionToken: "{{?sessionToken}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-cosmosdb-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJhIiBjeD0iLTEwNS4wMDYiIGN5PSItMTAuNDA5IiByPSI1Ljk1NCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjAzNiAwIDAgMS4wMjcgMTE3LjczOSAxOS42NDQpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMTgzIiBzdG9wLWNvbG9yPSIjNWVhMGVmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PC9yYWRpYWxHcmFkaWVudD48Y2xpcFBhdGggaWQ9ImIiPjxwYXRoIGQ9Ik0xNC45NjkgNy41M2E2LjEzNyA2LjEzNyAwIDExLTcuMzk1LTQuNTQzIDYuMTM3IDYuMTM3IDAgMDE3LjM5NSA0LjU0M3oiIGZpbGw9Im5vbmUiLz48L2NsaXBQYXRoPjwvZGVmcz48cGF0aCBkPSJNMi45NTQgNS4yNjZhLjE3NS4xNzUgMCAwMS0uMTc2LS4xNzZBMi4wMTIgMi4wMTIgMCAwMC43NjkgMy4wODFhLjE3Ni4xNzYgMCAwMS0uMTc2LS4xNzUuMTc2LjE3NiAwIDAxLjE3Ni0uMTc2QTIuMDEyIDIuMDEyIDAgMDAyLjc3OC43MmEuMTc1LjE3NSAwIDAxLjE3Ni0uMTc2LjE3NS4xNzUgMCAwMS4xNzYuMTc2IDIuMDEyIDIuMDEyIDAgMDAyLjAwOSAyLjAwOS4xNzUuMTc1IDAgMDEuMTc2LjE3Ni4xNzUuMTc1IDAgMDEtLjE3Ni4xNzZBMi4wMTEgMi4wMTEgMCAwMDMuMTMgNS4wOWEuMTc3LjE3NyAwIDAxLS4xNzYuMTc2ek0xNS42MTEgMTcuNDU2YS4xNDEuMTQxIDAgMDEtLjE0MS0uMTQxIDEuNjA5IDEuNjA5IDAgMDAtMS42MDctMS42MDcuMTQxLjE0MSAwIDAxLS4xNDEtLjE0LjE0MS4xNDEgMCAwMS4xNDEtLjE0MSAxLjYwOCAxLjYwOCAwIDAwMS42MDctMS42MDcuMTQxLjE0MSAwIDAxLjE0MS0uMTQxLjE0MS4xNDEgMCAwMS4xNDEuMTQxIDEuNjA4IDEuNjA4IDAgMDAxLjYwNyAxLjYwNy4xNDEuMTQxIDAgMTEwIC4yODIgMS42MDkgMS42MDkgMCAwMC0xLjYwNyAxLjYwNy4xNDEuMTQxIDAgMDEtLjE0MS4xNHoiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNMTQuOTY5IDcuNTNhNi4xMzcgNi4xMzcgMCAxMS03LjM5NS00LjU0MyA2LjEzNyA2LjEzNyAwIDAxNy4zOTUgNC41NDN6IiBmaWxsPSJ1cmwoI2EpIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIiBmaWxsPSIjZjJmMmYyIj48cGF0aCBkPSJNNS43MDkgMTMuMTE1YTEuNjM4IDEuNjM4IDAgMTAuMDA1LTMuMjc1IDEuMzA3IDEuMzA3IDAgMDAuMDA3LS4xNEExLjY1MSAxLjY1MSAwIDAwNC4wNiA4LjA2NEgyLjgzMmE2LjI1MSA2LjI1MSAwIDAwMS41OTUgNS4wNTF6TTE1LjA0NSA3LjgxNWMwLS4wMTUgMC0uMDMtLjAwNy0uMDQ0YTUuOTc4IDUuOTc4IDAgMDAtMS40MDYtMi44OCAxLjgyNSAxLjgyNSAwIDAwLS4yODktLjA5IDEuODA2IDEuODA2IDAgMDAtMi4zIDEuNjYzIDIgMiAwIDAwLS4yLS4wMTMgMS43MzcgMS43MzcgMCAwMC0uNTgxIDMuMzc0IDEuNDUxIDEuNDUxIDAgMDAuNTQxLjFoMi4wM2ExMy40NTMgMTMuNDUzIDAgMDAyLjIxMi0yLjExeiIvPjwvZz48cGF0aCBkPSJNMTcuMTkxIDMuODMyYy0uNjI5LTEuMDQ3LTIuMS0xLjQ1NS00LjE1NS0xLjE0OWExNC42MDYgMTQuNjA2IDAgMDAtMi4wODIuNDUyIDYuNDU2IDYuNDU2IDAgMDExLjUyOC43NjdjLjI0MS0uMDUzLjQ4My0uMTE2LjcxNS0uMTUxYTcuNDkgNy40OSAwIDAxMS4xMDMtLjA4OSAyLjE4OCAyLjE4OCAwIDAxMS45NTkuNzI1Yy4zODMuNjM4LjA2IDEuNzI5LS44ODYgM2ExNi43MjMgMTYuNzIzIDAgMDEtNC43NDkgNC4wNTFBMTYuNzU4IDE2Ljc1OCAwIDAxNC44IDEzLjdjLTEuNTY0LjIzNC0yLjY4MiAwLTMuMDY1LS42MzZzLS4wNi0xLjczLjg4Ni0yLjk5NWMuMTE3LS4xNTcuMTQ2LS4yMzQuMjc5LS4zOTJhNi4yNTIgNi4yNTIgMCAwMS4wMjYtMS42MyAxMS41NTIgMTEuNTUyIDAgMDAtMS4xNyAxLjM3MkMuNTE3IDExLjA3Ni4xODEgMTIuNTY2LjgwOSAxMy42MTNhMy4xNjUgMy4xNjUgMCAwMDIuOSAxLjI0OSA4LjQzNCA4LjQzNCAwIDAwMS4yNTEtLjEgMTcuODU1IDE3Ljg1NSAwIDAwNi4yMTktMi40QTE3LjgwOCAxNy44MDggMCAwMDE2LjI0IDguMDNjMS4yNDMtMS42NjEgMS41NzktMy4xNS45NTEtNC4xOTh6IiBmaWxsPSIjNTBlNmZmIi8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure CosmosDB" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Azure CosmosDB Sink" description: Send Data to an Azure CosmosDB instance required: - databaseName - containerName - databaseEndpoint type: object properties: databaseName: title: Database Name description: The Azure Cosmos database name. type: string containerName: title: Container Name description: The Azure Cosmos container name. type: string accountKey: title: Account Key description: The Azure Cosmos account Key. type: string format: password x-descriptors: - urn:camel:group:credentials databaseEndpoint: title: Database Endpoint description: Sets the Azure Cosmos database endpoint the component will connect to. type: string itemPartitionKey: title: Item Partition Key description: Represents a partition key value in the Azure Cosmos DB database service. A partition key identifies the partition where the item is stored in. type: string credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY"] default: "SHARED_ACCOUNT_KEY" types: in: mediaType: application/json dependencies: - "camel:azure-cosmosdb" - "camel:kamelet" - "camel:jackson" - "camel:core" template: from: uri: "kamelet:source" steps: - choice: precondition: true when: - simple: '${propertiesExist:!itemPartitionKey}' steps: - choice: when: - simple: "${header[itemPartitionKey]}" steps: - setHeader: name: CamelAzureCosmosDbItemPartitionKey simple: "${header[itemPartitionKey]}" - simple: "${header[ce-itemPartitionKey]}" steps: - setHeader: name: CamelAzureCosmosDbItemPartitionKey simple: "${header[ce-itemPartitionKey]}" - unmarshal: json: library: Jackson - to: uri: "azure-cosmosdb:{{databaseName}}/{{containerName}}" parameters: accountKey: "{{?accountKey}}" databaseEndpoint: "{{databaseEndpoint}}" itemPartitionKey: "{{?itemPartitionKey}}" operation: createItem credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-cosmosdb-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOCAxOCI+PGRlZnM+PHJhZGlhbEdyYWRpZW50IGlkPSJhIiBjeD0iLTEwNS4wMDYiIGN5PSItMTAuNDA5IiByPSI1Ljk1NCIgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjAzNiAwIDAgMS4wMjcgMTE3LjczOSAxOS42NDQpIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHN0b3Agb2Zmc2V0PSIuMTgzIiBzdG9wLWNvbG9yPSIjNWVhMGVmIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMDA3OGQ0Ii8+PC9yYWRpYWxHcmFkaWVudD48Y2xpcFBhdGggaWQ9ImIiPjxwYXRoIGQ9Ik0xNC45NjkgNy41M2E2LjEzNyA2LjEzNyAwIDExLTcuMzk1LTQuNTQzIDYuMTM3IDYuMTM3IDAgMDE3LjM5NSA0LjU0M3oiIGZpbGw9Im5vbmUiLz48L2NsaXBQYXRoPjwvZGVmcz48cGF0aCBkPSJNMi45NTQgNS4yNjZhLjE3NS4xNzUgMCAwMS0uMTc2LS4xNzZBMi4wMTIgMi4wMTIgMCAwMC43NjkgMy4wODFhLjE3Ni4xNzYgMCAwMS0uMTc2LS4xNzUuMTc2LjE3NiAwIDAxLjE3Ni0uMTc2QTIuMDEyIDIuMDEyIDAgMDAyLjc3OC43MmEuMTc1LjE3NSAwIDAxLjE3Ni0uMTc2LjE3NS4xNzUgMCAwMS4xNzYuMTc2IDIuMDEyIDIuMDEyIDAgMDAyLjAwOSAyLjAwOS4xNzUuMTc1IDAgMDEuMTc2LjE3Ni4xNzUuMTc1IDAgMDEtLjE3Ni4xNzZBMi4wMTEgMi4wMTEgMCAwMDMuMTMgNS4wOWEuMTc3LjE3NyAwIDAxLS4xNzYuMTc2ek0xNS42MTEgMTcuNDU2YS4xNDEuMTQxIDAgMDEtLjE0MS0uMTQxIDEuNjA5IDEuNjA5IDAgMDAtMS42MDctMS42MDcuMTQxLjE0MSAwIDAxLS4xNDEtLjE0LjE0MS4xNDEgMCAwMS4xNDEtLjE0MSAxLjYwOCAxLjYwOCAwIDAwMS42MDctMS42MDcuMTQxLjE0MSAwIDAxLjE0MS0uMTQxLjE0MS4xNDEgMCAwMS4xNDEuMTQxIDEuNjA4IDEuNjA4IDAgMDAxLjYwNyAxLjYwNy4xNDEuMTQxIDAgMTEwIC4yODIgMS42MDkgMS42MDkgMCAwMC0xLjYwNyAxLjYwNy4xNDEuMTQxIDAgMDEtLjE0MS4xNHoiIGZpbGw9IiM1MGU2ZmYiLz48cGF0aCBkPSJNMTQuOTY5IDcuNTNhNi4xMzcgNi4xMzcgMCAxMS03LjM5NS00LjU0MyA2LjEzNyA2LjEzNyAwIDAxNy4zOTUgNC41NDN6IiBmaWxsPSJ1cmwoI2EpIi8+PGcgY2xpcC1wYXRoPSJ1cmwoI2IpIiBmaWxsPSIjZjJmMmYyIj48cGF0aCBkPSJNNS43MDkgMTMuMTE1YTEuNjM4IDEuNjM4IDAgMTAuMDA1LTMuMjc1IDEuMzA3IDEuMzA3IDAgMDAuMDA3LS4xNEExLjY1MSAxLjY1MSAwIDAwNC4wNiA4LjA2NEgyLjgzMmE2LjI1MSA2LjI1MSAwIDAwMS41OTUgNS4wNTF6TTE1LjA0NSA3LjgxNWMwLS4wMTUgMC0uMDMtLjAwNy0uMDQ0YTUuOTc4IDUuOTc4IDAgMDAtMS40MDYtMi44OCAxLjgyNSAxLjgyNSAwIDAwLS4yODktLjA5IDEuODA2IDEuODA2IDAgMDAtMi4zIDEuNjYzIDIgMiAwIDAwLS4yLS4wMTMgMS43MzcgMS43MzcgMCAwMC0uNTgxIDMuMzc0IDEuNDUxIDEuNDUxIDAgMDAuNTQxLjFoMi4wM2ExMy40NTMgMTMuNDUzIDAgMDAyLjIxMi0yLjExeiIvPjwvZz48cGF0aCBkPSJNMTcuMTkxIDMuODMyYy0uNjI5LTEuMDQ3LTIuMS0xLjQ1NS00LjE1NS0xLjE0OWExNC42MDYgMTQuNjA2IDAgMDAtMi4wODIuNDUyIDYuNDU2IDYuNDU2IDAgMDExLjUyOC43NjdjLjI0MS0uMDUzLjQ4My0uMTE2LjcxNS0uMTUxYTcuNDkgNy40OSAwIDAxMS4xMDMtLjA4OSAyLjE4OCAyLjE4OCAwIDAxMS45NTkuNzI1Yy4zODMuNjM4LjA2IDEuNzI5LS44ODYgM2ExNi43MjMgMTYuNzIzIDAgMDEtNC43NDkgNC4wNTFBMTYuNzU4IDE2Ljc1OCAwIDAxNC44IDEzLjdjLTEuNTY0LjIzNC0yLjY4MiAwLTMuMDY1LS42MzZzLS4wNi0xLjczLjg4Ni0yLjk5NWMuMTE3LS4xNTcuMTQ2LS4yMzQuMjc5LS4zOTJhNi4yNTIgNi4yNTIgMCAwMS4wMjYtMS42MyAxMS41NTIgMTEuNTUyIDAgMDAtMS4xNyAxLjM3MkMuNTE3IDExLjA3Ni4xODEgMTIuNTY2LjgwOSAxMy42MTNhMy4xNjUgMy4xNjUgMCAwMDIuOSAxLjI0OSA4LjQzNCA4LjQzNCAwIDAwMS4yNTEtLjEgMTcuODU1IDE3Ljg1NSAwIDAwNi4yMTktMi40QTE3LjgwOCAxNy44MDggMCAwMDE2LjI0IDguMDNjMS4yNDMtMS42NjEgMS41NzktMy4xNS45NTEtNC4xOTh6IiBmaWxsPSIjNTBlNmZmIi8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure CosmosDB" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Azure CosmosDB Source" description: Consume Changes from a CosmosDB instance. required: - databaseName - containerName - databaseEndpoint type: object properties: databaseName: title: Database Name description: The Azure Cosmos database name. type: string containerName: title: Container Name description: The Azure Cosmos container name. type: string accountKey: title: Account Key description: The Azure Cosmos account Key. type: string format: password x-descriptors: - urn:camel:group:credentials leaseDatabaseName: title: Lease Database Name description: Sets the lease container which acts as a state storage and coordinates processing the change feed across multiple workers. type: string leaseContainerName: title: Lease Container Name description: Sets the lease database where the `leaseContainerName` is stored. type: string createLeaseDatabaseIfNotExists: title: Autocreate Lease Database description: Sets if the component should create Cosmos lease database for the consumer automatically in case it doesn’t exist in Cosmos account. type: boolean default: false createLeaseContainerIfNotExists: title: Autocreate Lease Container description: Sets if the component should create Cosmos lease container for the consumer automatically in case it doesn’t exist in Cosmos database. type: boolean default: false databaseEndpoint: title: Database Endpoint description: Sets the Azure Cosmos database endpoint the component will connect to. type: string credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY"] default: "SHARED_ACCOUNT_KEY" dataTypes: out: default: json headers: types: json: format: "application-json" description: Json mapping of Change Feed records mediaType: application/json cloudevents: format: "azure-cosmosdb:application-cloudevents" description: Data type transformer converts Azure CosmosDB Change Feed processor response to CloudEvent v1_0 data format. The data type sets Camel specific CloudEvent headers with values extracted from Azure CosmosDB Change Feed processor response. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.azure.cosmosdb.changes" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. type: string default: "org.apache.camel.event.azure.cosmosdb.changefeed" CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. type: string default: "org.apache.camel.event.azure.cosmosdb.changefeed" CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:azure-cosmosdb" - "camel:kamelet" - "camel:jackson" template: from: uri: "azure-cosmosdb:{{databaseName}}/{{containerName}}" parameters: leaseDatabaseName: "{{?leaseDatabaseName}}" leaseContainerName: "{{?leaseContainerName}}" accountKey: "{{?accountKey}}" createLeaseDatabaseIfNotExists: "{{createLeaseDatabaseIfNotExists}}" createLeaseContainerIfNotExists: "{{createLeaseContainerIfNotExists}}" databaseEndpoint: "{{databaseEndpoint}}" credentialType: "{{credentialType}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-eventhubs-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9Ii0uMDc1IC0uMTc0IDE1OC40IDE2My4xMDEiIHdpZHRoPSIyNDM5IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiMwMDZmZDQiPjxwYXRoIGQ9Im02LjIyNS4wMjZoMTQ2LjZjMS4zIDAgMy0uMiA0LjEuNS45LjYuOCAxLjUuOCAyLjR2MzEuOGMwIC45LS4xIDEuOC0uOCAyLjQtLjguOC0xLjcuOC0yLjguOGgtMTQuMWMtMS4yIDAtMi40LS4xLTMuMi0xLS43LS44LS43LTEuOS0uNy0yLjl2LTEyLjVoLTExNHYxMi44YzAgMS0uMSAyLS44IDIuOC0uOC44LTEuOC44LTIuOC44aC0xNC44Yy0xIDAtMiAwLTIuOC0uOC0uOC0uOC0uOC0xLjctLjktMi44di0yOC44YzAtMS4xLS4xLTIuMy4xLTMuNC4yLTEgMS4xLTEuOCAyLjEtMiAxLjQtLjIgMi43LS4xIDQtLjF6Ii8+PHBhdGggZD0ibTM2LjYyNSAzNy42MjdoMTkuNGMxLjIgMCAyLjYuMSAzLjQgMS4xLjcuOC43IDEuOC43IDIuOHYxNC40YzAgMS4xIDAgMi4xLS44IDMtLjguOC0xLjkuOC0zIC44aC0xNy43Yy0xLjMgMC0yLjcuMS0zLjktLjItMS4yLS41LTEuNy0xLjYtMS43LTIuOXYtMTUuMWMwLTEuMSAwLTIuMS43LTIuOS44LS45IDEuOS0xIDIuOS0xem0zOC4yIDE3LjJoMTkuOGMxIDAgMS45IDAgMi43LjdzLjkgMS42LjkgMi42djE0LjhjMCAxLjItLjQgMi4yLTEuNSAyLjgtMS4yLjUtMi44LjMtNC4xLjNoLTE3LjRjLTEuMSAwLTIuMSAwLTIuOS0uOHMtLjgtMS45LS44LTIuOXYtMTMuN2MwLTEuMS4xLTIuMS45LTIuOS42LS44IDEuNC0uOCAyLjQtLjl6bS0zNi4xIDE2aDE3LjdjMSAwIDEuOS4xIDIuNi44LjguOC44IDEuOS44IDIuOXYxNC4xYzAgMS0uMSAxLjgtLjggMi41LS44LjgtMS44LjgtMi45LjhoLTE5LjRjLTEgMC0xLjkgMC0yLjctLjdzLS45LTEuNi0xLTIuNnYtMTQuMWMwLTEuMSAwLTIuMi45LTMgMS4xLTEgMy4zLS42IDQuOC0uN3ptNzMuOSAwaDIwLjFjMSAwIDEuOS4xIDIuNi44LjkuOC44IDEuOS44IDN2MTQuMWMwIDEtLjEgMS45LS45IDIuNi0uOC44LTEuOC44LTIuOS44aC0xNy4xYy0xLjQgMC0yLjkuMS00LjItLjItMS4yLS41LTEuNy0xLjYtMS43LTIuOHYtMTQuNGMwLTEuMSAwLTIgLjgtMi45LjctLjggMS42LTEgMi41LTF6bS0zNy44IDE2LjRoMTkuOGMxIDAgMS45IDAgMi43LjdzLjkgMS43LjkgMi43djE0LjhjMCAxLjEtLjQgMi0xLjMgMi42LTEuMi42LTIuOS40LTQuMy40aC0xNy40Yy0xLjEgMC0yLjEgMC0yLjktLjhzLS44LTEuOC0uOS0yLjl2LTEzLjdjMC0xLjEgMC0yLjIuOC0yLjkuNy0uOCAxLjYtLjggMi42LS45em0tMzYuMSAxNmgxNy44YzEgMCAxLjkuMSAyLjYuOXMuNyAxLjcuNyAyLjd2MTQuMWMwIDEgMCAxLjktLjcgMi43cy0xLjcuOS0yLjcuOWgtMTkuOGMtMS4xIDAtMi4yIDAtMi45LTEtLjctLjktLjctMS45LS43LTN2LTE0LjFjMC0xLjMuNS0yLjQgMS43LTIuOSAxLjItLjQgMi43LS4yIDQtLjN6bS0zNC41IDIxLjZoMTQuNGMxLjEgMCAyLjIuMSAzIDEgLjcuOC42IDEuNy43IDIuN3YxMi43aDExNC40di0xMi40YzAtMSAwLTIgLjgtMi44LjktLjkgMS45LS45IDMuMS0uOWgxMy40YzEgMCAyLjIgMCAzIC42LjkuNyAxLjMgMS45IDEuMyAzdjMwLjVjMCAxLjEtLjEgMi0uOSAyLjctMSAxLTIuOC42LTQuMS43aC0xNDkuM2MtLjkgMC0xLjctLjEtMi4zLS43LS44LS43LS45LTEuNy0uOS0yLjd2LTMwLjhjMC0xLjIuMi0yLjMgMS4xLTMuMS41LS41IDEuNC0uNCAyLjMtLjV6Ii8+PC9nPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Eventhubs" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Azure Eventhubs Sink" description: Send events to Azure Event Hubs. required: - namespaceName - eventhubName type: object properties: namespaceName: title: Eventhubs Namespace description: The Event Hubs namespace. type: string eventhubName: title: Eventhubs Name description: The Event Hub name. type: string sharedAccessName: title: Share Access Name description: The Event Hubs SAS key name. type: string x-descriptors: - urn:camel:group:credentials sharedAccessKey: title: Share Access Key description: The key for the Event Hubs SAS key name. type: string format: password x-descriptors: - urn:camel:group:credentials credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["CONNECTION_STRING", "AZURE_IDENTITY"] default: "CONNECTION_STRING" dependencies: - "camel:core" - "camel:azure-eventhubs" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[partition-id]}" steps: - setHeader: name: CamelAzureEventHubsPartitionId simple: "${header[partition-id]}" - simple: "${header[ce-partition-id]}" steps: - setHeader: name: CamelAzureEventHubsPartitionId simple: "${header[ce-partition-id]}" - to: uri: "azure-eventhubs://{{namespaceName}}/{{eventhubName}}" parameters: sharedAccessName: "{{?sharedAccessName}}" sharedAccessKey: "{{?sharedAccessKey}}" credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-eventhubs-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9Ii0uMDc1IC0uMTc0IDE1OC40IDE2My4xMDEiIHdpZHRoPSIyNDM5IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxnIGZpbGw9IiMwMDZmZDQiPjxwYXRoIGQ9Im02LjIyNS4wMjZoMTQ2LjZjMS4zIDAgMy0uMiA0LjEuNS45LjYuOCAxLjUuOCAyLjR2MzEuOGMwIC45LS4xIDEuOC0uOCAyLjQtLjguOC0xLjcuOC0yLjguOGgtMTQuMWMtMS4yIDAtMi40LS4xLTMuMi0xLS43LS44LS43LTEuOS0uNy0yLjl2LTEyLjVoLTExNHYxMi44YzAgMS0uMSAyLS44IDIuOC0uOC44LTEuOC44LTIuOC44aC0xNC44Yy0xIDAtMiAwLTIuOC0uOC0uOC0uOC0uOC0xLjctLjktMi44di0yOC44YzAtMS4xLS4xLTIuMy4xLTMuNC4yLTEgMS4xLTEuOCAyLjEtMiAxLjQtLjIgMi43LS4xIDQtLjF6Ii8+PHBhdGggZD0ibTM2LjYyNSAzNy42MjdoMTkuNGMxLjIgMCAyLjYuMSAzLjQgMS4xLjcuOC43IDEuOC43IDIuOHYxNC40YzAgMS4xIDAgMi4xLS44IDMtLjguOC0xLjkuOC0zIC44aC0xNy43Yy0xLjMgMC0yLjcuMS0zLjktLjItMS4yLS41LTEuNy0xLjYtMS43LTIuOXYtMTUuMWMwLTEuMSAwLTIuMS43LTIuOS44LS45IDEuOS0xIDIuOS0xem0zOC4yIDE3LjJoMTkuOGMxIDAgMS45IDAgMi43LjdzLjkgMS42LjkgMi42djE0LjhjMCAxLjItLjQgMi4yLTEuNSAyLjgtMS4yLjUtMi44LjMtNC4xLjNoLTE3LjRjLTEuMSAwLTIuMSAwLTIuOS0uOHMtLjgtMS45LS44LTIuOXYtMTMuN2MwLTEuMS4xLTIuMS45LTIuOS42LS44IDEuNC0uOCAyLjQtLjl6bS0zNi4xIDE2aDE3LjdjMSAwIDEuOS4xIDIuNi44LjguOC44IDEuOS44IDIuOXYxNC4xYzAgMS0uMSAxLjgtLjggMi41LS44LjgtMS44LjgtMi45LjhoLTE5LjRjLTEgMC0xLjkgMC0yLjctLjdzLS45LTEuNi0xLTIuNnYtMTQuMWMwLTEuMSAwLTIuMi45LTMgMS4xLTEgMy4zLS42IDQuOC0uN3ptNzMuOSAwaDIwLjFjMSAwIDEuOS4xIDIuNi44LjkuOC44IDEuOS44IDN2MTQuMWMwIDEtLjEgMS45LS45IDIuNi0uOC44LTEuOC44LTIuOS44aC0xNy4xYy0xLjQgMC0yLjkuMS00LjItLjItMS4yLS41LTEuNy0xLjYtMS43LTIuOHYtMTQuNGMwLTEuMSAwLTIgLjgtMi45LjctLjggMS42LTEgMi41LTF6bS0zNy44IDE2LjRoMTkuOGMxIDAgMS45IDAgMi43LjdzLjkgMS43LjkgMi43djE0LjhjMCAxLjEtLjQgMi0xLjMgMi42LTEuMi42LTIuOS40LTQuMy40aC0xNy40Yy0xLjEgMC0yLjEgMC0yLjktLjhzLS44LTEuOC0uOS0yLjl2LTEzLjdjMC0xLjEgMC0yLjIuOC0yLjkuNy0uOCAxLjYtLjggMi42LS45em0tMzYuMSAxNmgxNy44YzEgMCAxLjkuMSAyLjYuOXMuNyAxLjcuNyAyLjd2MTQuMWMwIDEgMCAxLjktLjcgMi43cy0xLjcuOS0yLjcuOWgtMTkuOGMtMS4xIDAtMi4yIDAtMi45LTEtLjctLjktLjctMS45LS43LTN2LTE0LjFjMC0xLjMuNS0yLjQgMS43LTIuOSAxLjItLjQgMi43LS4yIDQtLjN6bS0zNC41IDIxLjZoMTQuNGMxLjEgMCAyLjIuMSAzIDEgLjcuOC42IDEuNy43IDIuN3YxMi43aDExNC40di0xMi40YzAtMSAwLTIgLjgtMi44LjktLjkgMS45LS45IDMuMS0uOWgxMy40YzEgMCAyLjIgMCAzIC42LjkuNyAxLjMgMS45IDEuMyAzdjMwLjVjMCAxLjEtLjEgMi0uOSAyLjctMSAxLTIuOC42LTQuMS43aC0xNDkuM2MtLjkgMC0xLjctLjEtMi4zLS43LS44LS43LS45LTEuNy0uOS0yLjd2LTMwLjhjMC0xLjIuMi0yLjMgMS4xLTMuMS41LS41IDEuNC0uNCAyLjMtLjV6Ii8+PC9nPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Eventhubs" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Azure Eventhubs Source" description: Receive events from Azure Event Hubs. required: - namespaceName - eventhubName - blobAccountName - blobAccessKey - blobContainerName type: object properties: namespaceName: title: Eventhubs Namespace description: The Event Hubs namespace. type: string eventhubName: title: Eventhubs Name description: The Event Hub name. type: string sharedAccessName: title: Share Access Name description: The Event Hubs SAS key name. type: string x-descriptors: - urn:camel:group:credentials sharedAccessKey: title: Share Access Key description: The key for the Event Hubs SAS key name. type: string format: password x-descriptors: - urn:camel:group:credentials blobAccountName: title: Azure Storage Blob Account Name description: The name of the Storage Blob account. type: string blobContainerName: title: Azure Storage Blob Container Name description: The name of the Storage Blob container. type: string blobAccessKey: title: Azure Storage Blob Access Key description: The key for the Azure Storage Blob service that is associated with the Storage Blob account name. type: string format: password x-descriptors: - urn:camel:group:credentials credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["CONNECTION_STRING", "AZURE_IDENTITY"] default: "CONNECTION_STRING" dataTypes: out: default: binary headers: CamelAzureEventHubsPartitionId: title: Azure Storage Event Hubs Partiton Id description: It sets the partition id of the Event Hub. type: string CamelAzureEventHubsOffset : title: Azure Storage Event Hubs Event Offset description: It sets the offset of the event when it was received from the associated Event Hub partition. This is only present on a received EventData. type: string CamelAzureEventHubsEnqueuedTime: title: Azure Event Hubs Event Enqueued Time description: It sets the instant, in UTC, of when the event was enqueued in the Event Hub partition. This is only present on a received EventData. type: java.time.Instant CamelAzureEventHubsSequenceNumber: title: Azure Event Hubs Event Sequence Number description: It sets the sequence number assigned to the event when it was enqueued in the associated Event Hub partition. This is unique for every message received in the Event Hub partition. This is only present on a received EventData. type: long CamelAzureEventHubsMetadata: title: Azure Event Hubs Event Metadata description: The set of free-form event properties which may be used for passing metadata associated with the event with the event body during Event Hubs operations. type: object CamelMessageTimestamp: title: Azure Event Hubs Message Timestamp description: The timestamp of the message. type: long CamelAzureEventHubsCheckpointUpdatedBy: title: Azure Event Hubs Checkpoint Updated By description: It sets the reason for the checkpoint to have been updated. This is only present on a received EventData. type: string types: binary: format: "application-octet-stream" description: Default binary representation of the Azure Event Hubs Event retrieved. mediaType: application/octet-stream cloudevents: format: "azure-eventhubs:application-cloudevents" description: Data type transformer converts Azure Eventhubs consumer response to CloudEvent v1_0 data format. The data type sets headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.azure.eventhubs.consume" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Partition Id with prefix "azure.eventhubs.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. The Azure Event Hubs Event Sequence Number. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:azure-eventhubs" - "camel:kamelet" - "camel:jackson" template: from: uri: 'azure-eventhubs://{{namespaceName}}/{{eventhubName}}' parameters: sharedAccessName: "{{?sharedAccessName}}" sharedAccessKey: "{{?sharedAccessKey}}" blobAccountName: "{{blobAccountName}}" blobAccessKey: "{{blobAccessKey}}" blobContainerName: "{{blobContainerName}}" credentialType: "{{credentialType}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-functions-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjE4LjI0IDIxLjQ2IDY0IDY0IiB3aWR0aD0iNjQiIGhlaWdodD0iNjQiPjxwYXRoIGQ9Ik04MS44MzcgNTMuODVjLjU4NS0uNTg1LjQ4Ny0xLjcgMC0yLjMwN2wtMy4wODctMy4wODctMTMuOC0xMy4zODZjLS41ODUtLjU4NS0xLjQ5NS0uNTg1LTIuMiAwLS41ODUuNTg1LS44MTIgMS43IDAgMi4zMDdsMTQuNSAxNC4xOThjLjU4NS41ODUuNTg1IDEuNyAwIDIuMzA3TDYyLjQ0IDY4LjU2OGMtLjU4NS41ODUtLjU4NSAxLjcgMCAyLjMwNy41ODUuNTg1IDEuNy40ODcgMi4yIDBsMTMuOC0xMy42OHptLTYzLjE5NCAwYy0uNTg1LS41ODUtLjQ4Ny0xLjcgMC0yLjMwN2wzLjA4Ny0zLjA4NyAxMy44LTEzLjM4NmMuNTg1LS41ODUgMS40OTUtLjU4NSAyLjIgMCAuNTg1LjU4NS44MTIgMS43IDAgMi4zMDdsLTE0LjIgMTQuMmMtLjU4NS41ODUtLjU4NSAxLjcgMCAyLjMwN2wxNC41IDE0LjY4NmMuNTg1LjU4NS41ODUgMS43IDAgMi4zMDctLjU4NS41ODUtMS43LjQ4Ny0yLjIgMEwyMS43MyA1Ny40eiIgZmlsbD0iIzM5OTljNiIvPjxwYXRoIGQ9Ik01Mi44MjMgNDMuODc1TDY1LjgyIDIzLjk2SDQ2LjMyNUwzNS44MyA1My41NmwxMi44LjA5Ny0xMC4wMDcgMjkuMzA3TDY2LjI0IDQzLjg3OHoiIGZpbGw9IiNmY2QxMTYiLz48cGF0aCBkPSJNNjYuMjQyIDQzLjg3NWgtMTMuNDJMNjUuODIgMjMuOTZINTUuNjE3TDQ0LjgzIDQ4LjU1NGwxMi44LjA5Ny0xOS4wMDcgMzQuM3oiIG9wYWNpdHk9Ii4zIiBmaWxsPSIjZmY4YzAwIi8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Functions" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Azure Function Sink" description: Forward data to an Azure Function. required: - url type: object properties: url: title: URL description: The Azure Functions URL you want to send the data to. type: string example: "https://azure-function-demo-12234.azurewebsites.net/api/httpexample" pattern: "^(https)://.*" method: title: Method description: The HTTP method to use. type: string default: POST enum: ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "TRACE", "PATCH"] key: title: Key description: A function-specific API key is required, if the authLevel of the function is FUNCTION or master key if the authLevel is ADMIN. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:vertx-http" - "camel:kamelet" - "camel:core" template: from: uri: kamelet:source steps: - removeHeader: name: CamelHttpUri - setHeader: name: CamelHttpMethod constant: "{{method}}" - to: "vertx-http:{{url}}?code={{?key}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-servicebus-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODEgODIiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMS4zMzMgMEMuNTMzIDAgMCAuNTMzIDAgMS4zMzN2MTZjMCAuOC41MzMgMS4zMzMgMS4zMzMgMS4zMzNoOGMuOCAwIDEuMzMzLS41MzMgMS4zMzMtMS4zMzN2LTYuNjY2aDU4LjY2N3Y2LjY2N2MwIC44LjUzMyAxLjMzMyAxLjYgMS4zMzNoNy43MzNjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzdi04LThDODAgLjUzMyA3OS40NjcgMCA3OC42NjcgMGgwSDEuMzMzem03Ny4zMzQgODBjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzVjYyLjkzNGMwLS44LS41MzMtMS4zMzMtMS4zMzMtMS4zMzNoLTcuNzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjMzM3Y2LjRIMTAuNjY3di02LjY2N2MwLS44LS41MzMtMS4zMzMtMS42LTEuMzMzSDEuMzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjZ2MTUuNzMzQzAgNzkuNDY3LjUzMyA4MCAxLjMzMyA4MGg3Ny4zMzR6IiBmaWxsPSIjMDA3MmM2IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNMjkuNTE5IDM2LjQ0N2wzLjQ1Mi0zLjQ1MiAyLjU1NiAyLjU1Ni0zLjQ1MiAzLjQ1MXptNS4wMDctNS4wMDhsMy40NTYtMy40NTYgMi41NiAyLjU2TDM3LjA4NiAzNHptNy41Ny0yLjQ2M2wtMi41Ni0yLjU0NCAzLjQyNC0zLjQyNCAyLjU2IDIuNTQ0ek0zOS41MzUgNTIuNWwyLjU2MS0yLjU2IDMuNDI0IDMuNDI2LTIuNTYxIDIuNTZ6bS0xLjU1MS0xLjU3MmwtMy40NTYtMy40NTYgMi41Ni0yLjU0NCAzLjQ1NiAzLjQ1NnptLTUuMDA4LTUuMDA4bC0zLjQ1Ni0zLjQ1NiAyLjU2LTIuNTQ0IDMuNDQgMy40NHoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2I4ZDQzMiIvPjxwYXRoIGQ9Ik01Ny44MSAyNC4zOTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFYxOC4zNDJsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDA5YTMuNTQgMy41NCAwIDAgMCAyLjUyMy0xLjA0NWw2LjY5LTYuNjl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY5YTMuNTQgMy41NCAwIDAgMCAyLjUyMiAxLjA0NXptMy4xNjEgMzEuMTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFY0OS45MDFsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDFhMy41NCAzLjU0IDAgMCAwIDIuNTIzLTEuMDQ1bDYuNjktNi42ODl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY4OWEzLjU0IDMuNTQgMCAwIDAgMi41MjIgMS4wNDV6TTE5LjcxOCA0MC41OTljLTEuMzQ0IDEuMzQ0LTMuMTMzIDIuMDg1LTUuMDM1IDIuMDg1cy0zLjY5LS43NDEtNS4wMzUtMi4wODVMMCAzMC45NDl2MTkuNjEzaDI5LjM2NlYzMC45NDlsLTkuNjQ4IDkuNjV6bS01LjAzNS42NTJhNS42NSA1LjY1IDAgMCAwIDQuMDIyLTEuNjY2bDEwLjY2MS0xMC42NjF2LS41NjVIMHYuNTY2bDEwLjY2MSAxMC42NjFhNS42NiA1LjY2IDAgMCAwIDQuMDIyIDEuNjY0eiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNTliNGQ5Ii8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" 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:camel:group:credentials serviceBusType: title: Servicebus Type description: The service bus type of connection to execute. Queue is for typical queue option and topic for subscription based model. type: string default: queue enum: ["queue", "topic"] credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL"] default: "CONNECTION_STRING" 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}}" serviceBusType: "{{serviceBusType}}" producerOperation: "sendMessages" credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-servicebus-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODEgODIiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMS4zMzMgMEMuNTMzIDAgMCAuNTMzIDAgMS4zMzN2MTZjMCAuOC41MzMgMS4zMzMgMS4zMzMgMS4zMzNoOGMuOCAwIDEuMzMzLS41MzMgMS4zMzMtMS4zMzN2LTYuNjY2aDU4LjY2N3Y2LjY2N2MwIC44LjUzMyAxLjMzMyAxLjYgMS4zMzNoNy43MzNjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzdi04LThDODAgLjUzMyA3OS40NjcgMCA3OC42NjcgMGgwSDEuMzMzem03Ny4zMzQgODBjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzVjYyLjkzNGMwLS44LS41MzMtMS4zMzMtMS4zMzMtMS4zMzNoLTcuNzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjMzM3Y2LjRIMTAuNjY3di02LjY2N2MwLS44LS41MzMtMS4zMzMtMS42LTEuMzMzSDEuMzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjZ2MTUuNzMzQzAgNzkuNDY3LjUzMyA4MCAxLjMzMyA4MGg3Ny4zMzR6IiBmaWxsPSIjMDA3MmM2IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNMjkuNTE5IDM2LjQ0N2wzLjQ1Mi0zLjQ1MiAyLjU1NiAyLjU1Ni0zLjQ1MiAzLjQ1MXptNS4wMDctNS4wMDhsMy40NTYtMy40NTYgMi41NiAyLjU2TDM3LjA4NiAzNHptNy41Ny0yLjQ2M2wtMi41Ni0yLjU0NCAzLjQyNC0zLjQyNCAyLjU2IDIuNTQ0ek0zOS41MzUgNTIuNWwyLjU2MS0yLjU2IDMuNDI0IDMuNDI2LTIuNTYxIDIuNTZ6bS0xLjU1MS0xLjU3MmwtMy40NTYtMy40NTYgMi41Ni0yLjU0NCAzLjQ1NiAzLjQ1NnptLTUuMDA4LTUuMDA4bC0zLjQ1Ni0zLjQ1NiAyLjU2LTIuNTQ0IDMuNDQgMy40NHoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2I4ZDQzMiIvPjxwYXRoIGQ9Ik01Ny44MSAyNC4zOTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFYxOC4zNDJsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDA5YTMuNTQgMy41NCAwIDAgMCAyLjUyMy0xLjA0NWw2LjY5LTYuNjl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY5YTMuNTQgMy41NCAwIDAgMCAyLjUyMiAxLjA0NXptMy4xNjEgMzEuMTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFY0OS45MDFsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDFhMy41NCAzLjU0IDAgMCAwIDIuNTIzLTEuMDQ1bDYuNjktNi42ODl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY4OWEzLjU0IDMuNTQgMCAwIDAgMi41MjIgMS4wNDV6TTE5LjcxOCA0MC41OTljLTEuMzQ0IDEuMzQ0LTMuMTMzIDIuMDg1LTUuMDM1IDIuMDg1cy0zLjY5LS43NDEtNS4wMzUtMi4wODVMMCAzMC45NDl2MTkuNjEzaDI5LjM2NlYzMC45NDlsLTkuNjQ4IDkuNjV6bS01LjAzNS42NTJhNS42NSA1LjY1IDAgMCAwIDQuMDIyLTEuNjY2bDEwLjY2MS0xMC42NjF2LS41NjVIMHYuNTY2bDEwLjY2MSAxMC42NjFhNS42NiA1LjY2IDAgMCAwIDQuMDIyIDEuNjY0eiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNTliNGQ5Ii8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" 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. 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: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 serviceBusType: title: Servicebus Type description: The service bus type of connection to execute. Queue is for typical queue option and topic for subscription based model. type: string default: queue enum: ["queue", "topic"] credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["AZURE_IDENTITY", "CONNECTION_STRING", "TOKEN_CREDENTIAL"] default: "CONNECTION_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}}" serviceBusType: "{{serviceBusType}}" credentialType: "{{credentialType}}" steps: - setBody: simple: "${body.toBytes()}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-blob-append-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Storage Blob" camel.apache.org/kamelet.namespace: "Azure" 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. 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: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: - setHeader: name: CamelAzureStorageBlobBlobName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelAzureStorageBlobBlobName simple: "${header[ce-file]}" otherwise: steps: - setHeader: name: CamelAzureStorageBlobBlobName simple: "${exchangeId}" - to: uri: "azure-storage-blob://{{accountName}}/{{containerName}}" parameters: accessKey: "{{?accessKey}}" operation: "commitAppendBlob" blobType: "appendBlob" credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-blob-changefeed-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Storage Blob Changefeed" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Azure Storage Blob Changefeed Source" description: Consume events from an Azure Storage Blob change feed. required: - period - accountName - accessKey type: object properties: period: title: Period between Polls description: The interval (in milliseconds) between fetches to the Azure Storage change feed. type: integer default: 10000 accountName: title: Account Name description: The Azure Storage Blob account name. type: string x-descriptors: - urn:camel:group:credentials accessKey: title: Access Key description: The Azure Storage Blob access Key. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:azure-storage-blob" - "camel:kamelet" - "camel:core" - "camel:jackson" - "camel:jsonpath" - "camel:timer" template: from: uri: "timer:azure-storage-blob-stream" parameters: period: "{{period}}" steps: - to: uri: "azure-storage-blob:{{accountName}}" parameters: operation: "getChangeFeed" accessKey: "{{accessKey}}" credentialType: "SHARED_ACCOUNT_KEY" - split: expression: simple: "${body}" - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "azure-storage-blob-changefeed-topic" jsonpath: suppressExceptions: true expression: $.topic - setHeader: name: "azure-storage-blob-changefeed-subject" jsonpath: suppressExceptions: true expression: $.subject - setHeader: name: "azure-storage-blob-changefeed-eventType" jsonpath: suppressExceptions: true expression: $.eventType - setHeader: name: "azure-storage-blob-changefeed-eventTime" jsonpath: suppressExceptions: true expression: $.eventTime - setHeader: name: "azure-storage-blob-changefeed-id" jsonpath: suppressExceptions: true expression: $.id - setHeader: name: "azure-storage-blob-changefeed-dataVersion" jsonpath: suppressExceptions: true expression: $.dataVersion - setHeader: name: "azure-storage-blob-changefeed-metadataVersion" jsonpath: suppressExceptions: true expression: $.metadataVersion - setBody: jsonpath: expression: $.data - marshal: json: library: Jackson module-class-names: com.fasterxml.jackson.datatype.jsr310.JavaTimeModule - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-blob-event-based-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgODEgODIiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMS4zMzMgMEMuNTMzIDAgMCAuNTMzIDAgMS4zMzN2MTZjMCAuOC41MzMgMS4zMzMgMS4zMzMgMS4zMzNoOGMuOCAwIDEuMzMzLS41MzMgMS4zMzMtMS4zMzN2LTYuNjY2aDU4LjY2N3Y2LjY2N2MwIC44LjUzMyAxLjMzMyAxLjYgMS4zMzNoNy43MzNjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzdi04LThDODAgLjUzMyA3OS40NjcgMCA3OC42NjcgMGgwSDEuMzMzem03Ny4zMzQgODBjLjggMCAxLjMzMy0uNTMzIDEuMzMzLTEuMzMzVjYyLjkzNGMwLS44LS41MzMtMS4zMzMtMS4zMzMtMS4zMzNoLTcuNzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjMzM3Y2LjRIMTAuNjY3di02LjY2N2MwLS44LS41MzMtMS4zMzMtMS42LTEuMzMzSDEuMzMzYy0uOCAwLTEuMzMzLjUzMy0xLjMzMyAxLjZ2MTUuNzMzQzAgNzkuNDY3LjUzMyA4MCAxLjMzMyA4MGg3Ny4zMzR6IiBmaWxsPSIjMDA3MmM2IiBzdHJva2U9Im5vbmUiLz48cGF0aCBkPSJNMjkuNTE5IDM2LjQ0N2wzLjQ1Mi0zLjQ1MiAyLjU1NiAyLjU1Ni0zLjQ1MiAzLjQ1MXptNS4wMDctNS4wMDhsMy40NTYtMy40NTYgMi41NiAyLjU2TDM3LjA4NiAzNHptNy41Ny0yLjQ2M2wtMi41Ni0yLjU0NCAzLjQyNC0zLjQyNCAyLjU2IDIuNTQ0ek0zOS41MzUgNTIuNWwyLjU2MS0yLjU2IDMuNDI0IDMuNDI2LTIuNTYxIDIuNTZ6bS0xLjU1MS0xLjU3MmwtMy40NTYtMy40NTYgMi41Ni0yLjU0NCAzLjQ1NiAzLjQ1NnptLTUuMDA4LTUuMDA4bC0zLjQ1Ni0zLjQ1NiAyLjU2LTIuNTQ0IDMuNDQgMy40NHoiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2I4ZDQzMiIvPjxwYXRoIGQ9Ik01Ny44MSAyNC4zOTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFYxOC4zNDJsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDA5YTMuNTQgMy41NCAwIDAgMCAyLjUyMy0xLjA0NWw2LjY5LTYuNjl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY5YTMuNTQgMy41NCAwIDAgMCAyLjUyMiAxLjA0NXptMy4xNjEgMzEuMTVhNC40NCA0LjQ0IDAgMCAxLTMuMTU4IDEuMzA5IDQuNDMgNC40MyAwIDAgMS0zLjE1OC0xLjMwOWwtNi4wNTMtNi4wNTN2MTIuMzA2aDE4LjQyNFY0OS45MDFsLTYuMDU0IDYuMDUzem0tMy4xNjEuNDFhMy41NCAzLjU0IDAgMCAwIDIuNTIzLTEuMDQ1bDYuNjktNi42ODl2LS4zNTVINDUuNDM4di4zNTVsNi42OSA2LjY4OWEzLjU0IDMuNTQgMCAwIDAgMi41MjIgMS4wNDV6TTE5LjcxOCA0MC41OTljLTEuMzQ0IDEuMzQ0LTMuMTMzIDIuMDg1LTUuMDM1IDIuMDg1cy0zLjY5LS43NDEtNS4wMzUtMi4wODVMMCAzMC45NDl2MTkuNjEzaDI5LjM2NlYzMC45NDlsLTkuNjQ4IDkuNjV6bS01LjAzNS42NTJhNS42NSA1LjY1IDAgMCAwIDQuMDIyLTEuNjY2bDEwLjY2MS0xMC42NjF2LS41NjVIMHYuNTY2bDEwLjY2MSAxMC42NjFhNS42NiA1LjY2IDAgMCAwIDQuMDIyIDEuNjY0eiIgc3Ryb2tlPSJub25lIiBmaWxsPSIjNTliNGQ5Ii8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Storage Blob Event Based" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Azure Storage Blob Event-based Source" description: Receive data from Azure Service Bus subscribed to Azure Eventgrid reporting events related to a Azure Storage Blob account. required: - topicOrQueueName - connectionString - accountName - containerName - accessKey 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:camel:group:credentials serviceBusReceiveMode: title: Servicebus Receive Mode description: Sets the receive mode for the receiver. type: string default: RECEIVE_AND_DELETE enum: ["RECEIVE_AND_DELETE", "PEEK_LOCK"] 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 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:camel:group:credentials credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string default: SHARED_ACCOUNT_KEY enum: ["SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY"] getBlob: title: Get Object in Container description: >- If `getBlob` is enabled, then the file created in the container is retrieved and returned as body. If not only the event is returned as body. type: boolean default: false types: out: mediaType: application/octet-stream dependencies: - "camel:azure-servicebus" - "camel:azure-storage-blob" - "camel:kamelet" - "camel:core" - 'camel:jsonpath' - 'camel:jackson' template: from: uri: "azure-servicebus:{{topicOrQueueName}}" parameters: connectionString: "{{connectionString}}" serviceBusReceiveMode: "{{serviceBusReceiveMode}}" subscriptionName: "{{?subscriptionName}}" steps: - choice: precondition: true when: - simple: '${properties:getBlob:true}' steps: - setBody: simple: ${body.toString()} - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setProperty: name: azure-storage-blob-event-type jsonpath: $.eventType - setProperty: name: azure-storage-blob-subject jsonpath: $.subject - setProperty: name: azure-storage-blob-blob-name simple: '${exchangeProperty.azure-storage-blob-subject.substring(${exchangeProperty.azure-storage-blob-subject.lastIndexOf("/")}++)}' - log: "${exchangeProperty.azure-storage-blob-event-type} - ${exchangeProperty.azure-storage-blob-subject} - ${exchangeProperty.azure-storage-blob-blob-name}" - choice: when: - simple: '${exchangeProperty.azure-storage-blob-event-type} == "Microsoft.Storage.BlobCreated" && ${exchangeProperty.azure-storage-blob-subject} contains "{{containerName}}"' steps: - toD: >- azure-storage-blob:{{accountName}}/{{containerName}}?accessKey=RAW({{accessKey}})&operation=getBlob&blobName=${exchangeProperty.azure-storage-blob-blob-name}&credentialType={{credentialType}} - to: 'kamelet:sink' --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-blob-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Storage Blob" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Azure Storage Blob Sink" description: Upload data to Azure Storage Blob. 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: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: - setHeader: name: CamelAzureStorageBlobBlobName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelAzureStorageBlobBlobName simple: "${header[ce-file]}" otherwise: steps: - setHeader: name: CamelAzureStorageBlobBlobName simple: "${exchangeId}" - to: uri: "azure-storage-blob://{{accountName}}/{{containerName}}" parameters: accessKey: "{{?accessKey}}" operation: "uploadBlockBlob" credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-blob-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" 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. 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:camel:group:credentials 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 description: Specifies to delete blobs after consuming them type: boolean 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" dataTypes: out: default: binary headers: CamelAzureStorageBlobBlobName: title: Azure Storage Blob Name description: The name of the blob retrieved type: string CamelAzureStorageBlobBlobType: title: The Azure Storage Blob Type description: The Blob type, one of blockblob, appendblob or pageblob type: string CamelAzureStorageBlobContentType: title: Content Type description: The content type of the retrieved object. default: application/octet-stream type: string CamelAzureStorageBlobETag: title: ETag Value description: The E tag of the blob type: string CamelAzureStorageBlobCreationTime: title: Creation time description: The Creation time of the blob type: string CamelAzureStorageBlobLastModified: title: Last modification time description: The Last modification time of the blob type: string CamelAzureStorageBlobLeaseStatus: title: Lease status description: Status of the lease on the blob, one of locked or unlocked type: string CamelAzureStorageBlobMetadata: title: Blob Metadata description: Additional Metadata of the blob of type Map type: object types: binary: format: "application-octet-stream" description: Default binary representation of the Blob object retrieved from the container. mediaType: application/octet-stream cloudevents: format: "azure-storage-blob:application-cloudevents" description: Output data type represents Azure Storage Blob get blob response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with respective data from the Azure container and its derived object. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.azure.storage.blob.getBlob" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the E Tag name of the blob with prefix "azure.storage.blob.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. Usually the Azure Storage Blob name. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:azure-storage-blob" - "camel:kamelet" - "camel:core" - "camel:jsonpath" - "camel:timer" template: from: uri: "azure-storage-blob:{{accountName}}/{{containerName}}" parameters: accessKey: "{{?accessKey}}" credentialType: "{{credentialType}}" delay: "{{delay}}" steps: - to: "kamelet:sink" - choice: precondition: true when: - simple: '${properties:deleteAfterRead:true}' steps: - to: uri: "azure-storage-blob:{{accountName}}/{{containerName}}" parameters: operation: "deleteBlob" accessKey: "{{?accessKey}}" credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-datalake-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNi4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4wIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxMTU4LjIgODYwLjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDExNTguMiA4NjAuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzA5NUNBMjt9DQoJLnN0MXtmaWxsOiNGRkZGRkY7fQ0KCS5zdDJ7ZmlsbDojMzJCRUVEO30NCgkuc3Qze2ZpbGw6IzFCMUIyMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTkyNy43LDE5Ny44SDYwOC44Yy0zLjQsMC4xLTYuOC0wLjktOS41LTNsLTkxLjItNjAuN2MtMi45LTEuNy02LjEtMi42LTkuNS0yLjZIMjMwLjVjLTkuMywwLTE3LDcuNC0xNy4yLDE2LjgNCgl2NTYzLjdjMC4yLDkuMyw3LjksMTYuOCwxNy4yLDE2LjhoNjk3LjFjOS4zLDAsMTctNy41LDE3LjItMTYuOHYtNDk3Qzk0NC45LDIwNS42LDkzNy4yLDE5Ny44LDkyNy43LDE5Ny44TDkyNy43LDE5Ny44eiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTQzOS4zLDE2NC4zSDI4Ni45Yy0zLjgsMC02LjksMy4xLTYuOSw2Ljl2MTkuNGMwLDMuOCwzLjEsNi45LDYuOSw2LjloMTUyLjNjMy44LDAsNi45LTMuMSw2LjktNi45DQoJYzAsMCwwLDAsMCwwdi0xOS40QzQ0Ni4xLDE2Ny4zLDQ0My4xLDE2NC4zLDQzOS4zLDE2NC4zeiIvPg0KPHBhdGggY2xhc3M9InN0MiIgZD0iTTMwOC40LDE2NC4zaC0yMy43Yy0yLjYsMC00LjcsMi4xLTQuNyw0Ljd2MjMuN2MwLDIuNiwyLjEsNC43LDQuNyw0LjdoMjMuN2MyLjYsMCw0LjctMi4xLDQuNy00LjdWMTY5DQoJQzMxMy4yLDE2Ni40LDMxMS4xLDE2NC4zLDMwOC40LDE2NC4zeiIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTkyNy43LDE5N0g1NzkuMWMtNC42LTAuMS05LDEuOC0xMiw1LjJMNTA5LDI1OC4xYy0zLjMsMy03LjYsNC43LTEyLDQuN0gyMzAuNWMtOS41LDAtMTcuMiw3LjctMTcuMiwxNy4ybDAsMA0KCXY0MzAuM2MwLjIsOS4zLDcuOSwxNi44LDE3LjIsMTYuOGg2OTcuMWM5LjMsMCwxNy03LjQsMTcuMi0xNi44VjIxNWMwLjEtMi4zLTAuMy00LjctMS4xLTYuOUM5NDEuMywyMDEuNCw5MzQuOSwxOTcsOTI3LjcsMTk3eiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTYyOS45LDI4OC4yYy0xLjEtMC4zLTIuMy0wLjMtMy41LDBjMCwwLTMuOSwwLTUuNiwzbC0xMzYsMTk3LjVjLTEuMiwyLjEtMS4yLDQuOCwwLDYuOWMxLjMsMi40LDMuNyw0LDYuNSw0LjMNCgloODAuNWwtMzUuNiwxMTkuNmMtMC40LDAuNy0wLjYsMS41LTAuNiwyLjJjMCwwLjgsMC4xLDEuNiwwLjQsMi4zYzAuMywwLjcsMC43LDEuNCwxLjMsMS45YzAuNiwwLjYsMS4zLDEsMiwxLjNjMSwwLjQsMiwwLjQsMywwDQoJYzIuNiwwLDMuOSwwLDUuNi0zTDY4OCw0MjMuN3YtNC4zYy0wLjItMy45LTMuNC02LjktNy4zLTYuOWgtODYuMWwzNC45LTExNy41QzYzMS4yLDI5My4yLDYzMS4zLDI5MC4zLDYyOS45LDI4OC4yTDYyOS45LDI4OC4yeiIvPg0KPC9zdmc+DQo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Storage Blob Data Lake" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Azure Storage Blob Data Lake Sink" description: Send data to Azure Storage Blob Data Lake. required: - accountName - clientId - clientSecret - tenantId - fileSystemName type: object properties: accountName: title: Account Name description: The Azure Storage Blob Data lake account name. type: string x-descriptors: - urn:camel:group:credentials clientId: title: Client Id description: The Azure Storage Blob Data lake client Id. type: string format: password x-descriptors: - urn:camel:group:credentials clientSecret: title: Client Secret description: The Azure Storage Blob Data lake client secret. type: string format: password x-descriptors: - urn:camel:group:credentials tenantId: title: Tenant Id description: The Azure Storage Blob Data lake tenant id. type: string format: password x-descriptors: - urn:camel:group:credentials fileSystemName: title: File System Name description: The Azure Storage Blob Data lake File system name. type: string x-descriptors: - urn:camel:group:credentials credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["CLIENT_SECRET", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "AZURE_SAS", "SERVICE_CLIENT_INSTANCE"] default: "CLIENT_SECRET" dependencies: - "camel:azure-storage-datalake" - "camel:kamelet" - "camel:core" - "camel:timer" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelAzureStorageDataLakeFileName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelAzureStorageDataLakeFileName simple: "${header[ce-file]}" otherwise: steps: - setHeader: name: CamelAzureStorageDataLakeFileName simple: "${exchangeId}" - to: uri: "azure-storage-datalake:{{accountName}}/{{fileSystemName}}" parameters: clientId: "{{clientId}}" clientSecret: "{{clientSecret}}" tenantId: "{{tenantId}}" operation: "upload" credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-datalake-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAyNi4wLjMsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4wIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxMTU4LjIgODYwLjQiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDExNTguMiA4NjAuNDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzA5NUNBMjt9DQoJLnN0MXtmaWxsOiNGRkZGRkY7fQ0KCS5zdDJ7ZmlsbDojMzJCRUVEO30NCgkuc3Qze2ZpbGw6IzFCMUIyMDt9DQo8L3N0eWxlPg0KPHBhdGggY2xhc3M9InN0MCIgZD0iTTkyNy43LDE5Ny44SDYwOC44Yy0zLjQsMC4xLTYuOC0wLjktOS41LTNsLTkxLjItNjAuN2MtMi45LTEuNy02LjEtMi42LTkuNS0yLjZIMjMwLjVjLTkuMywwLTE3LDcuNC0xNy4yLDE2LjgNCgl2NTYzLjdjMC4yLDkuMyw3LjksMTYuOCwxNy4yLDE2LjhoNjk3LjFjOS4zLDAsMTctNy41LDE3LjItMTYuOHYtNDk3Qzk0NC45LDIwNS42LDkzNy4yLDE5Ny44LDkyNy43LDE5Ny44TDkyNy43LDE5Ny44eiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTQzOS4zLDE2NC4zSDI4Ni45Yy0zLjgsMC02LjksMy4xLTYuOSw2Ljl2MTkuNGMwLDMuOCwzLjEsNi45LDYuOSw2LjloMTUyLjNjMy44LDAsNi45LTMuMSw2LjktNi45DQoJYzAsMCwwLDAsMCwwdi0xOS40QzQ0Ni4xLDE2Ny4zLDQ0My4xLDE2NC4zLDQzOS4zLDE2NC4zeiIvPg0KPHBhdGggY2xhc3M9InN0MiIgZD0iTTMwOC40LDE2NC4zaC0yMy43Yy0yLjYsMC00LjcsMi4xLTQuNyw0Ljd2MjMuN2MwLDIuNiwyLjEsNC43LDQuNyw0LjdoMjMuN2MyLjYsMCw0LjctMi4xLDQuNy00LjdWMTY5DQoJQzMxMy4yLDE2Ni40LDMxMS4xLDE2NC4zLDMwOC40LDE2NC4zeiIvPg0KPHBhdGggY2xhc3M9InN0MyIgZD0iTTkyNy43LDE5N0g1NzkuMWMtNC42LTAuMS05LDEuOC0xMiw1LjJMNTA5LDI1OC4xYy0zLjMsMy03LjYsNC43LTEyLDQuN0gyMzAuNWMtOS41LDAtMTcuMiw3LjctMTcuMiwxNy4ybDAsMA0KCXY0MzAuM2MwLjIsOS4zLDcuOSwxNi44LDE3LjIsMTYuOGg2OTcuMWM5LjMsMCwxNy03LjQsMTcuMi0xNi44VjIxNWMwLjEtMi4zLTAuMy00LjctMS4xLTYuOUM5NDEuMywyMDEuNCw5MzQuOSwxOTcsOTI3LjcsMTk3eiIvPg0KPHBhdGggY2xhc3M9InN0MSIgZD0iTTYyOS45LDI4OC4yYy0xLjEtMC4zLTIuMy0wLjMtMy41LDBjMCwwLTMuOSwwLTUuNiwzbC0xMzYsMTk3LjVjLTEuMiwyLjEtMS4yLDQuOCwwLDYuOWMxLjMsMi40LDMuNyw0LDYuNSw0LjMNCgloODAuNWwtMzUuNiwxMTkuNmMtMC40LDAuNy0wLjYsMS41LTAuNiwyLjJjMCwwLjgsMC4xLDEuNiwwLjQsMi4zYzAuMywwLjcsMC43LDEuNCwxLjMsMS45YzAuNiwwLjYsMS4zLDEsMiwxLjNjMSwwLjQsMiwwLjQsMywwDQoJYzIuNiwwLDMuOSwwLDUuNi0zTDY4OCw0MjMuN3YtNC4zYy0wLjItMy45LTMuNC02LjktNy4zLTYuOWgtODYuMWwzNC45LTExNy41QzYzMS4yLDI5My4yLDYzMS4zLDI5MC4zLDYyOS45LDI4OC4yTDYyOS45LDI4OC4yeiIvPg0KPC9zdmc+DQo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Storage Blob Data Lake" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Azure Storage Blob Data Lake Source" description: Consume files from Azure Storage Blob Data Lake. required: - accountName - clientId - clientSecret - tenantId - fileSystemName type: object properties: accountName: title: Account Name description: The Azure Storage Blob Data lake account name. type: string x-descriptors: - urn:camel:group:credentials clientId: title: Client Id description: The Azure Storage Blob Data lake client Id. type: string format: password x-descriptors: - urn:camel:group:credentials clientSecret: title: Client Secret description: The Azure Storage Blob Data lake client secret. type: string format: password x-descriptors: - urn:camel:group:credentials tenantId: title: Tenant Id description: The Azure Storage Blob Data lake tenant id. type: string format: password x-descriptors: - urn:camel:group:credentials fileSystemName: title: File System Name description: The Azure Storage Blob Data lake File system name. type: string x-descriptors: - urn:camel:group:credentials delay: title: Delay description: The number of milliseconds before the next poll of the selected blob. type: integer default: 500 credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["CLIENT_SECRET", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY", "AZURE_SAS", "SERVICE_CLIENT_INSTANCE"] default: "CLIENT_SECRET" dataTypes: out: default: binary headers: CamelAzureStorageDataLakeFileName: title: Azure Storage Datalake File Name description: The name of the file retrieved type: string CamelAzureStorageDataLakeRawHttpHeaders: title: Azure Storage Data Lake Raw Http Headers description: Non parsed http headers that can be used by the user. type: object CamelAzureStorageDataLakeAccessTier: title: Azure Storage Data Lake File Access Tier description: Access tier of file. type: object CamelAzureStorageDataLakeAccessTierChangeTime: title: Azure Storage Data Lake Access Tier Change Time. description: Datetime when the access tier of the blob last changed. type: object CamelAzureStorageDataLakeArchiveStatus: title: Azure Storage Data Lake Archive Status description: Archive status of file type: object CamelAzureStorageDataLakeCacheControl: title: Azure Storage Data Lake File Cache Control description: Cache control specified for the file. type: string CamelAzureStorageDataLakeContentDisposition: title: Azure Storage Data Lake File Content Disposition description: Content disposition specified for the file. type: string CamelAzureStorageDataLakeContentEncoding: title: Azure Storage Data Lake File Content Encoding description: Content encoding specified for the file. type: string CamelAzureStorageDataLakeContentLanguage: title: Azure Storage Data Lake File Content Language description: Content language specified for the file. type: string CamelAzureStorageDataLakeContentType: title: Azure Storage Data Lake File Content Type description: Content Type specified for the file. type: string CamelAzureStorageDataLakeCopyCompletionTime: title: Azure Storage Data Lake File Copy Completion time description: Conclusion time of the last attempted Copy Blob operation where this file was the destination file. type: object CamelAzureStorageDataLakeCopyId: title: Azure Storage Data Lake File Copy Id description: String identifier for this copy operation. type: string amelAzureStorageDataLakeCopyProgress: title: Azure Storage Data Lake File Copy Progress description: Contains the number of bytes copied and the total bytes in the source in the last attempted Copy Blob operation where this file was the destination file. type: string CamelAzureStorageDataLakeCopySource: title: Azure Storage Data Lake File Copy Source description: URL up to 2 KB in length that specifies the source file or file used in the last attempted Copy Blob operation where this file was the destination file. type: string CamelAzureStorageDataLakeCopyStatus: title: Azure Storage Data Lake File Copy Status description: Status of the last copy operation performed on the file. type: object CamelAzureStorageDataLakeCopyStatusDescription: title: Azure Storage Data Lake File Copy Status Description description: The description of the copy’s status. type: string CamelAzureStorageDataLakeCreationTime: title: Azure Storage Data Lake File Creation Time. description: Creation time of the file. type: object CamelAzureStorageDataLakeEncryptionKeySha256: title: Azure Storage Data Lake File SHA-256 Hash description: The SHA-256 hash of the encryption key used to encrypt the file. type: string CamelAzureStorageDataLakeETag: title: Azure Storage Data Lake File E Tag description: The E Tag of the file. type: string CamelAzureStorageDataLakeFileSize: title: Azure Storage Data Lake File Size description: The File Size type: long CamelAzureStorageDataLakeLastModified: title: Azure Storage Data Lake File Last Modified Date description: Datetime when the file was last modified. type: object CamelAzureStorageDataLakeLeaseDuration: title: Azure Storage Data Lake File Lease Duration description: Type of lease on the file. type: object CamelAzureStorageDataLakeLeaseState: title: Azure Storage Data Lake File Lease State description: State of the lease on the file. type: object CamelAzureStorageDataLakeLeaseStatus: title: Azure Storage Data Lake File Lease Status description: Status of the lease on the file. type: object CamelAzureStorageDataLakeServerEncrypted: title: Azure Storage Data Lake File Content Encrypted description: Flag indicating if the file’s content is encrypted on the server. type: boolean CamelAzureStorageDataLakeDownloadLink: title: Azure Storage Data Lake File Download Link description: The link that can be used to download the file from data lake. type: string types: binary: format: "application-octet-stream" description: Default binary representation of the object retrieved from the Azure Data Lake. mediaType: application/octet-stream cloudevents: format: "azure-storage-datalake:application-cloudevents" description: Data type transformer converts Azure Data Lake consumer response to CloudEvent v1_0 data format. The data type sets Camel specific CloudEvent headers with values extracted from Azure Data Lake consumer response. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.azure.storage.datalake.consume" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Archive Status of the file with prefix "azure.storage.datalake.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. Usually the Azure Storage Datalake E Tag of file. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:azure-storage-datalake" - "camel:kamelet" - "camel:core" - "camel:timer" template: from: uri: "azure-storage-datalake:{{accountName}}/{{fileSystemName}}" parameters: clientId: "{{clientId}}" clientSecret: "{{clientSecret}}" tenantId: "{{tenantId}}" delay: "{{delay}}" credentialType: "{{credentialType}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-files-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Azure Storage Blob" camel.apache.org/kamelet.namespace: "Azure" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Azure Storage Files Sink" description: Upload data to Azure Storage Files Share. required: - accountName - shareName type: object properties: accountName: title: Account Name description: The Azure Storage Blob account name. type: string x-descriptors: - urn:camel:group:credentials shareName: title: Share Name description: The Azure Storage File Share share name. type: string sharedKey: title: Shared Access Key description: The Azure Storage Blob access key. type: string format: password x-descriptors: - urn:camel:group:credentials credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY", "SHARED_KEY_CREDENTIAL", "AZURE_SAS"] default: "SHARED_ACCOUNT_KEY" directoryName: title: Directory Name description: The directory from where the producer will upload the file. type: string default: "." dependencies: - "camel:core" - "camel:azure-storage-blob" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelFileName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelFileName simple: "${header[ce-file]}" otherwise: steps: - setHeader: name: CamelFileName simple: "${exchangeId}" - to: uri: "azure-files://{{accountName}}/{{shareName}}/{{directoryName}}" parameters: sharedKey: "{{?sharedKey}}" credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-files-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNjcuNTU4IDBIMjIuNDQxTDAgNDBsMjIuNDQxIDQwaDQ1LjExN0w5MCA0MCA2Ny41NTggMHptLjIzNCA1Ny45NjRjMCAzLjM1My0yLjgwNSA2LjIyNy02LjA3OCA2LjIyN0gyOC41MmMtMy4yNzMgMC02LjA3OC0yLjg3NC02LjA3OC02LjIyN1YyMi4yNzZjMC0zLjM1MyAyLjgwNS02LjIyOCA2LjA3OC02LjIyOGgyOS45MjJsOS4zNTEgOS41ODF2MzIuMzM1ek00MS42MSA0Ni40NjdjMC0uNDc5LS4yMzQtLjcxOC0uMjM0LS45NThzLS4yMzQtLjQ3OS0uNDY3LS43MTgtLjIzNC0uMjQtLjQ2OC0uMjRoLS43MDFjLS40NjggMC0uNzAyIDAtLjkzNS4yNHMtLjQ2OC40NzktLjcwMS45NTgtLjIzNC45NTgtLjIzNCAxLjQzN3Y0LjU1MWMwIC43MTkuMjM0IDEuMTk3LjQ2OCAxLjQzNy4yMzQuNDc5LjQ2OC43MTkuNzAxLjcxOS4yMzQuMjQuNDY4LjI0LjkzNS4yNC4yMzQgMCAuNDY4IDAgLjcwMS0uMjRhLjUxLjUxIDAgMCAwIC40NjgtLjQ3OWMuMjM0LS4yNC4yMzQtLjQ3OS40NjctLjcxOCAwLS4yNC4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE5LjIzMy0xLjE5OHYtMy4xMTRjLS40NjctLjI0LS40NjctLjQ3OS0uNDY3LS45NTh6bTEwLjUyLTE4LjY4M2MwLS40NzktLjIzNC0uNzE4LS4yMzQtLjk1OHMtLjIzNC0uNDc5LS40NjgtLjcxOS0uMjM0LS4yNC0uNDY4LS4yNGgtLjcwMWMtLjQ2NyAwLS43MDEgMC0uOTM1LjI0cy0uNDY4LjQ3OS0uNzAyLjk1OC0uMjMzLjk1OC0uMjMzIDEuNDM3djQuNTUxYzAgLjcxOS4yMzMgMS4xOTguNDY3IDEuNDM3LjIzNC40NzkuNDY4LjcxOS43MDEuNzE5LjIzNC4yNC40NjcuMjQuOTM1LjI0LjIzNCAwIC40NjcgMCAuNzAxLS4yNGEuNTEuNTEgMCAwIDAgLjQ2OC0uNDc5Yy4yMzQtLjI0LjIzNC0uNDc5LjQ2OC0uNzE5IDAtLjIzOS4yMzQtLjQ3OS4yMzQtLjk1OCAwLS4yMzkgMC0uNzE4LjIzNC0xLjE5OHYtMy4xMTRjLS4yMzQgMC0uMjM0LS40NzktLjQ2Ny0uOTU4em00LjY3NS04LjM4M0gyOC41MTljLTEuNjM2IDAtMi44MDUgMS4xOTgtMi44MDUgMi44NzR2MzUuNjg5YzAgMS42NzcgMS4xNjkgMi44NzQgMi44MDUgMi44NzRoMzMuMTk1YTIuODggMi44OCAwIDAgMCAyLjgwNS0yLjg3NFYyNy4zMDVoLTcuNDh2LTcuOTA0ek0zNiAyNi41ODd2LS40NzlsLjIzNC0uMjQgMi44MDUtMS45MTZoMi41NzF2MTEuNDk3aDIuMzM4bC4yMzMuMjRjLjIzNC4yMzkgMCAuMjM5IDAgLjIzOXYxLjE5N3MwIC4yNC0uMjMzLjI0aC03LjcxNGwtLjIzNC0uMjR2LTEuNDM3czAtLjI0LjIzNC0uMjRoMi44MDV2LTguODYybC0yLjEwNCAxLjE5OGMtLjIzNCAwLS4yMzQuMjM5LS40NjcuMjM5aC0uMjM0czAtLjIzOS0uMjM0LS4yMzl2LTEuMTk4em04LjE4MiAyNS42MjljLS4yMzMuOTU4LS40NjcgMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjM5LTEuNDAzLjQ3OS0yLjMzOC40NzlzLTEuNjM2LS4yNC0yLjMzOC0uNDc5YTIuMTMgMi4xMyAwIDAgMS0xLjQwMy0xLjQzN2MtLjIzNC0uNzE4LS43MDEtMS40MzctLjcwMS0yLjE1Ni0uMjM0LS45NTgtLjIzNC0xLjkxNi0uMjM0LTIuODc0IDAtMS4xOTggMC0yLjE1Ni4yMzQtMi44NzQuMjM0LS45NTguNDY3LTEuNjc3LjkzNS0yLjE1NnMuOTM1LTEuMTk4IDEuNDAzLTEuNDM3Yy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yMzkgMi4zMzcuNDc5YTIuMTMgMi4xMyAwIDAgMSAxLjQwMyAxLjQzN2MuMjM0LjcxOS43MDEgMS40MzcuNzAxIDIuMTU2LjIzNC45NTguMjM0IDEuOTE2LjIzNCAyLjg3NCAwIDEuMTk4IDAgMi4xNTYtLjIzNCAyLjg3NHptMTAuNTIgMy4zNTN2LjI0czAgLjIzOS0uMjM0LjIzOWgtNy43MTRsLS4yMzQtLjIzOXYtMS40MzdzMC0uMjM5LjIzNC0uMjM5aDIuODA1di04Ljg2MmwtMi4xMDQgMS4xOThjLS4yMzQgMC0uMjM0LjIzOS0uNDY4LjIzOWgtLjIzNHMwLS4yMzktLjIzNC0uMjM5VjQ0Ljc5bC4yMzQtLjI0IDIuODA1LTEuOTE2aDIuNTcydjExLjQ5N2gyLjMzOGwuMjM0LjIzOXYxLjE5OHptLjIzNC0yMi4wMzZjLS4yMzQuOTU4LS40NjggMS42NzctLjkzNSAyLjE1Ni0uNDY4LjcxOC0uOTM1IDEuMTk4LTEuNDAzIDEuNDM3LS43MDEuMjQtMS40MDMuNDc5LTIuMzM4LjQ3OXMtMS42MzYtLjI0LTIuMzM4LS40NzlhMi4xMyAyLjEzIDAgMCAxLTEuNDAzLTEuNDM3Yy0uMjM0LS40NzktLjcwMS0xLjQzNy0uNzAxLTIuMTU2cy0uMjM0LTEuOTE2LS4yMzQtMi44NzRjMC0xLjE5OCAwLTIuMTU2LjIzNC0yLjg3NC4yMzQtLjk1OC40NjgtMS42NzcuOTM1LTIuMTU2LjQ2OC0uNzE4LjkzNS0xLjE5OCAxLjQwMy0xLjQzNy43MDEtLjI0IDEuNDAzLS40NzkgMi4zMzgtLjQ3OXMxLjYzNi4yNCAyLjMzOC40NzlhMi4xMyAyLjEzIDAgMCAxIDEuNDAzIDEuNDM3Yy4yMzQuNzE4LjcwMSAxLjQzNy43MDEgMi4xNTYuMjM0Ljk1OC4yMzQgMS45MTYuMjM0IDIuODc0IDAgMS4xOTgtLjIzNCAyLjE1Ni0uMjM0IDIuODc0eiIgZmlsbD0iIzAwNzhkNyIgc3Ryb2tlPSJub25lIi8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" 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 File Source" description: Consume files from Azure Storage File Shares. required: - accountName - shareName type: object properties: accountName: title: Account Name description: The Azure Storage File Share account name. type: string x-descriptors: - urn:camel:group:credentials shareName: title: Share Name description: The Azure Storage File Share share name. type: string sharedKey: title: Shared Access Key description: The Azure Storage Blob access key. type: string format: password x-descriptors: - urn:camel:group:credentials 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 description: Specifies to delete blobs after consuming them type: boolean default: false credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["SHARED_ACCOUNT_KEY", "AZURE_IDENTITY", "SHARED_KEY_CREDENTIAL", "AZURE_SAS"] default: "SHARED_ACCOUNT_KEY" directoryName: title: Directory Name description: The directory from where the consumer will start reading files. type: string default: "." recursive: title: Recursive Mode description: If a directory, the consumer will look for files in all the sub-directories as well. type: boolean default: false dataTypes: out: default: binary headers: CamelFileLength: title: Azure Storage Files File Length description: A long value containing the file size type: long CamelFileLastModified: title: Azure Storage Files File Last Modified Date description: A Long value containing the last modified timestamp of the file. type: long CamelFileNameOnly: title: Azure Storage Files File Name Only description: Only the file name (the name with no leading paths). type: string CamelFileName: title: Azure Storage Files File Name description: Name of the consumed file as a relative file path with offset from the starting directory configured on the endpoint. type: string CamelFileNameConsumed: title: Azure Storage Files Consumed File Name description: The name of the file that has been consumed. type: string CamelFileAbsolute: title: Azure Storage Files Consumed Absolute Format description: A boolean option specifying whether the consumed file denotes an absolute path or not. type: boolean CamelFileAbsolutePath: title: Azure Storage Files Consumed Absolute Path description: The absolute path to the file. For relative files this path holds the relative path instead. type: string CamelFileExtendedAttributes: title: Azure Storage Files Extended Attributes description: Additional Metadata of the file of type Map type: object CamelFileContentType: title: Content Type description: The content type of the retrieved object. default: application/octet-stream type: string CamelFilePath: title: Azure Storage Files File Path description: The file path. For relative files this is the starting directory the relative filename. For absolute files this is the absolute path. type: string CamelFileRelativePath: title: Azure Storage Files File Relative Path description: The relative path. type: string CamelFileParent: title: Azure Storage Files File Relative Path description: The parent path. type: string types: binary: format: "application-octet-stream" description: Default binary representation of the File retrieved from Azure Storage Files. mediaType: application/octet-stream cloudevents: format: "azure-files:application-cloudevents" description: Data type transformer converts Azure Storage Files poll response to CloudEvent v1_0 data format. The data type sets Camel specific CloudEvent headers with values extracted from Azure Storage Files poll response. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.azure.storage.files.poll" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Host name of the share with prefix "azure.storage.files.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. Usually the Azure Storage Files file name. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:azure-files" - "camel:kamelet" - "camel:core" - "camel:timer" template: from: uri: "azure-files:{{accountName}}/{{shareName}}/{{directoryName}}" parameters: sharedKey: "{{?sharedKey}}" credentialType: "{{credentialType}}" delay: "{{delay}}" delete: "{{deleteAfterRead}}" recursive: "{{recursive}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-queue-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNzAuMDUzIDM0LjYzNEg1MC41OGw5LjczNiA3LjgwNXptLTM5LjQyIDEwLjQ4OGMtLjIzOCAwLS40NzUgMC0uNzEzLS4yNDRsLTkuMDI0LTcuMzE3djExLjk1MWgyMC42NlYzNy4zMTdsLTkuNzM2IDcuNTYxYy0uNDc1LjI0NC0uOTUuMjQ0LTEuMTg3LjI0NHptMjkuNjgzIDBjLS4yMzggMC0uNzEzIDAtLjcxMy0uMjQ0bC05LjI2MS03LjMxN3YxMS45NTFoMjAuNjZWMzcuMzE3bC05LjczNiA3LjU2MWMtLjQ3NS4yNDQtLjcxMy4yNDQtLjk1LjI0NHpNNjcuNjc4IDBIMjIuNTU5TDAgNDBsMjIuNTU5IDQwSDY3LjQ0TDkwIDQwIDY3LjY3OCAwem03LjgzNiA1Ny4wNzNIMTQuMDExYy0xLjkgMC0zLjMyNS0xLjcwNy0zLjMyNS0zLjY1OVYyOS4yNjhjMC0xLjk1MSAxLjQyNS0zLjY1OCAzLjMyNS0zLjY1OGg2MS41MDRjLjcxMyAwIDEuOSAwIDkuOTc0IDE1LjYxbC4yMzcuNzMyLS4yMzcuNzMyYy04LjA3NCAxNC4zOS05LjI2MSAxNC4zOS05Ljk3NCAxNC4zOXpNNDAuMzcgMzQuNjM0SDIwLjY2bDkuNzM2IDcuODA1em0tMjYuMzU5LTYuMzQxYy0uNDc1IDAtLjk1LjQ4OC0uOTUuOTc2djI0LjE0NmMwIC40ODguNDc1IDEuMjIuOTUgMS4yMkg3NS4wNGMxLjE4OC0xLjIyIDQuNzQ5LTcuMDczIDcuODM3LTEyLjY4My0zLjA4Ny02LjA5OC02Ljg4Ni0xMi40MzktNy44MzctMTMuNjU5SDE0LjAxMXptMjkuOTIxIDIyLjQzOWMwIC43MzItLjcxMyAxLjQ2My0xLjY2MyAxLjQ2M0gxOC45OThjLS43MTMgMC0uOTUtLjczMi0uOTUtMS40NjNWMzIuOTI3YzAtLjczMi4yMzgtLjk3Ni45NS0uOTc2SDQyLjI3Yy43MTIgMCAxLjY2My4yNDQgMS42NjMuOTc2djE3LjgwNXptMjkuMjA5IDBjMCAuNzMyLS40NzUgMS40NjMtMS4xODggMS40NjNINDguOTE5Yy0uNzEyIDAtMS4xODctLjczMi0xLjE4Ny0xLjQ2M1YzMi45MjdjMC0uNzMyLjQ3NS0uOTc2IDEuMTg3LS45NzZoMjMuMDM0Yy43MTMgMCAxLjE4OC4yNDQgMS4xODguOTc2djE3LjgwNXoiIGZpbGw9IiMwMDc4ZDciIHN0cm9rZT0ibm9uZSIvPjwvc3ltYm9sPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" 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 events to Azure Storage queues. required: - accountName - queueName - accessKey type: object properties: accountName: 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. type: string format: password x-descriptors: - urn:camel:group:credentials credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY"] default: "SHARED_ACCOUNT_KEY" dependencies: - "camel:core" - "camel:azure-storage-queue" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[expiration]}" steps: - setHeader: name: CamelAzureStorageQueueTimeToLive simple: "${header[expiration]}" - simple: "${header[ce-expiration]}" steps: - setHeader: name: CamelAzureStorageQueueTimeToLive simple: "${header[ce-expiration]}" - to: uri: "azure-storage-queue://{{accountName}}/{{queueName}}" parameters: accessKey: "{{accessKey}}" credentialType: "{{credentialType}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: azure-storage-queue-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgOTEgODEiIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9Ii41IiB5PSIuNSIvPjxzeW1ib2wgaWQ9IkEiIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNNzAuMDUzIDM0LjYzNEg1MC41OGw5LjczNiA3LjgwNXptLTM5LjQyIDEwLjQ4OGMtLjIzOCAwLS40NzUgMC0uNzEzLS4yNDRsLTkuMDI0LTcuMzE3djExLjk1MWgyMC42NlYzNy4zMTdsLTkuNzM2IDcuNTYxYy0uNDc1LjI0NC0uOTUuMjQ0LTEuMTg3LjI0NHptMjkuNjgzIDBjLS4yMzggMC0uNzEzIDAtLjcxMy0uMjQ0bC05LjI2MS03LjMxN3YxMS45NTFoMjAuNjZWMzcuMzE3bC05LjczNiA3LjU2MWMtLjQ3NS4yNDQtLjcxMy4yNDQtLjk1LjI0NHpNNjcuNjc4IDBIMjIuNTU5TDAgNDBsMjIuNTU5IDQwSDY3LjQ0TDkwIDQwIDY3LjY3OCAwem03LjgzNiA1Ny4wNzNIMTQuMDExYy0xLjkgMC0zLjMyNS0xLjcwNy0zLjMyNS0zLjY1OVYyOS4yNjhjMC0xLjk1MSAxLjQyNS0zLjY1OCAzLjMyNS0zLjY1OGg2MS41MDRjLjcxMyAwIDEuOSAwIDkuOTc0IDE1LjYxbC4yMzcuNzMyLS4yMzcuNzMyYy04LjA3NCAxNC4zOS05LjI2MSAxNC4zOS05Ljk3NCAxNC4zOXpNNDAuMzcgMzQuNjM0SDIwLjY2bDkuNzM2IDcuODA1em0tMjYuMzU5LTYuMzQxYy0uNDc1IDAtLjk1LjQ4OC0uOTUuOTc2djI0LjE0NmMwIC40ODguNDc1IDEuMjIuOTUgMS4yMkg3NS4wNGMxLjE4OC0xLjIyIDQuNzQ5LTcuMDczIDcuODM3LTEyLjY4My0zLjA4Ny02LjA5OC02Ljg4Ni0xMi40MzktNy44MzctMTMuNjU5SDE0LjAxMXptMjkuOTIxIDIyLjQzOWMwIC43MzItLjcxMyAxLjQ2My0xLjY2MyAxLjQ2M0gxOC45OThjLS43MTMgMC0uOTUtLjczMi0uOTUtMS40NjNWMzIuOTI3YzAtLjczMi4yMzgtLjk3Ni45NS0uOTc2SDQyLjI3Yy43MTIgMCAxLjY2My4yNDQgMS42NjMuOTc2djE3LjgwNXptMjkuMjA5IDBjMCAuNzMyLS40NzUgMS40NjMtMS4xODggMS40NjNINDguOTE5Yy0uNzEyIDAtMS4xODctLjczMi0xLjE4Ny0xLjQ2M1YzMi45MjdjMC0uNzMyLjQ3NS0uOTc2IDEuMTg3LS45NzZoMjMuMDM0Yy43MTMgMCAxLjE4OC4yNDQgMS4xODguOTc2djE3LjgwNXoiIGZpbGw9IiMwMDc4ZDciIHN0cm9rZT0ibm9uZSIvPjwvc3ltYm9sPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" 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 events from Azure Storage queues. required: - accountName - queueName - accessKey type: object properties: accountName: 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. type: string format: password x-descriptors: - urn:camel:group:credentials maxMessages: title: Maximum Messages 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 credentialType: title: Credential Type description: Determines the credential strategy to adopt. type: string enum: ["SHARED_ACCOUNT_KEY", "SHARED_KEY_CREDENTIAL", "AZURE_IDENTITY"] default: "SHARED_ACCOUNT_KEY" dataTypes: out: default: text headers: CamelAzureStorageQueueMessageId: title: Azure Storage Queue Message Id description: The id of the message. type: string CamelAzureStorageQueueInsertionTime: title: Azure Storage Queue Message Insertion Time description: The time the Message was inserted into the Queue. type: OffsetDateTime CamelAzureStorageQueueExpirationTime: title: Azure Storage Queue Message Expiration Time description: The time that the Message will expire and be automatically deleted. type: OffsetDateTime CamelAzureStorageQueuePopReceipt: title: Pop Receipt description: Unique identifier that must match for the message to be deleted or updated. If deletion fails using this pop receipt then the message has been dequeued by another client. type: string CamelAzureStorageQueueTimeNextVisible: title: Azure Storage Queue Message Time Next Visible description: The time that the message will again become visible in the Queue. type: OffsetDateTime CamelAzureStorageQueueDequeueCount: title: Dequeue Count description: The number of times the message has been dequeued. type: long types: text: format: "text-plain" description: Default text representation of the Message dequeued from the queue. mediaType: text/plain cloudevents: format: "azure-storage-queue:application-cloudevents" description: Output data type represents Azure Storage Queue receive messages operation as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id. type: string CamelCloudEventType: title: CloudEvent Type description: The event type. default: "org.apache.camel.event.azure.storage.queue.receiveMessages" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Message Id of the message received with prefix "azure.storage.queue.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. Usually the Pop receipt of the message dequeued. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:azure-storage-queue" - "camel:kamelet" - "camel:core" template: from: uri: "azure-storage-queue://{{accountName}}/{{queueName}}" parameters: accessKey: "{{accessKey}}" maxMessages: "{{maxMessages}}" credentialType: "{{credentialType}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: bitcoin-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PCEtLSBDcmVhdGVkIHdpdGggSW5rc2NhcGUgKGh0dHA6Ly93d3cuaW5rc2NhcGUub3JnLykgLS0+CjxzdmcgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iNjQiIHdpZHRoPSI2NCIgdmVyc2lvbj0iMS4xIiB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgo8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjAwNjMwODc2LC0wLjAwMzAxOTg0KSI+CjxwYXRoIGZpbGw9IiNmNzkzMWEiIGQ9Im02My4wMzMsMzkuNzQ0Yy00LjI3NCwxNy4xNDMtMjEuNjM3LDI3LjU3Ni0zOC43ODIsMjMuMzAxLTE3LjEzOC00LjI3NC0yNy41NzEtMjEuNjM4LTIzLjI5NS0zOC43OCw0LjI3Mi0xNy4xNDUsMjEuNjM1LTI3LjU3OSwzOC43NzUtMjMuMzA1LDE3LjE0NCw0LjI3NCwyNy41NzYsMjEuNjQsMjMuMzAyLDM4Ljc4NHoiLz4KPHBhdGggZmlsbD0iI0ZGRiIgZD0ibTQ2LjEwMywyNy40NDRjMC42MzctNC4yNTgtMi42MDUtNi41NDctNy4wMzgtOC4wNzRsMS40MzgtNS43NjgtMy41MTEtMC44NzUtMS40LDUuNjE2Yy0wLjkyMy0wLjIzLTEuODcxLTAuNDQ3LTIuODEzLTAuNjYybDEuNDEtNS42NTMtMy41MDktMC44NzUtMS40MzksNS43NjZjLTAuNzY0LTAuMTc0LTEuNTE0LTAuMzQ2LTIuMjQyLTAuNTI3bDAuMDA0LTAuMDE4LTQuODQyLTEuMjA5LTAuOTM0LDMuNzVzMi42MDUsMC41OTcsMi41NSwwLjYzNGMxLjQyMiwwLjM1NSwxLjY3OSwxLjI5NiwxLjYzNiwyLjA0MmwtMS42MzgsNi41NzFjMC4wOTgsMC4wMjUsMC4yMjUsMC4wNjEsMC4zNjUsMC4xMTctMC4xMTctMC4wMjktMC4yNDItMC4wNjEtMC4zNzEtMC4wOTJsLTIuMjk2LDkuMjA1Yy0wLjE3NCwwLjQzMi0wLjYxNSwxLjA4LTEuNjA5LDAuODM0LDAuMDM1LDAuMDUxLTIuNTUyLTAuNjM3LTIuNTUyLTAuNjM3bC0xLjc0Myw0LjAxOSw0LjU2OSwxLjEzOWMwLjg1LDAuMjEzLDEuNjgzLDAuNDM2LDIuNTAzLDAuNjQ2bC0xLjQ1Myw1LjgzNCwzLjUwNywwLjg3NSwxLjQzOS01Ljc3MmMwLjk1OCwwLjI2LDEuODg4LDAuNSwyLjc5OCwwLjcyNmwtMS40MzQsNS43NDUsMy41MTEsMC44NzUsMS40NTMtNS44MjNjNS45ODcsMS4xMzMsMTAuNDg5LDAuNjc2LDEyLjM4NC00LjczOSwxLjUyNy00LjM2LTAuMDc2LTYuODc1LTMuMjI2LTguNTE1LDIuMjk0LTAuNTI5LDQuMDIyLTIuMDM4LDQuNDgzLTUuMTU1em0tOC4wMjIsMTEuMjQ5Yy0xLjA4NSw0LjM2LTguNDI2LDIuMDAzLTEwLjgwNiwxLjQxMmwxLjkyOC03LjcyOWMyLjM4LDAuNTk0LDEwLjAxMiwxLjc3LDguODc4LDYuMzE3em0xLjA4Ni0xMS4zMTJjLTAuOTksMy45NjYtNy4xLDEuOTUxLTkuMDgyLDEuNDU3bDEuNzQ4LTcuMDFjMS45ODIsMC40OTQsOC4zNjUsMS40MTYsNy4zMzQsNS41NTN6Ii8+CjwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Bitcoin" camel.apache.org/kamelet.namespace: "Bitcoin" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Bitcoin Source" description: Provides a feed of the value of the Bitcoin compared to USDT using the Binance service. type: object properties: period: title: Period between Updates description: The interval between updates in milliseconds. type: integer default: 10000 types: out: mediaType: application/json schema: type: object properties: currencyPair: type: string open: type: number last: type: number bid: type: number ask: type: number high: type: number low: type: number vwap: type: number volume: type: number quoteVolume: type: number bidSize: type: number askSize: type: number dependencies: - "camel:xchange" - "camel:kamelet" - "camel:jackson" - "camel:timer" template: from: uri: "timer:update" parameters: period: "{{period}}" steps: - to: "xchange:binance?service=marketdata&method=ticker¤cyPair=BTC/USDT" - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: caffeine-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIxLjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9ItCh0LvQvtC5XzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAyODEuOCAyNzMuOCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMjgxLjggMjczLjg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPGc+Cgk8cmVjdCB4PSIxODYuNyIgeT0iMTIxLjYiIHdpZHRoPSIyLjQiIGhlaWdodD0iNDUuNiIvPgoJPHJlY3QgeD0iNDMuNCIgeT0iNzcuMiIgdHJhbnNmb3JtPSJtYXRyaXgoMC41MDA0IC0wLjg2NTggMC44NjU4IDAuNTAwNCAtNjEuMjQ1NCA4Ni43Nzc1KSIgd2lkdGg9IjIuNCIgaGVpZ2h0PSIzOC41Ii8+Cgk8cmVjdCB4PSIxMjYuNSIgeT0iMjIyLjMiIHdpZHRoPSIyLjQiIGhlaWdodD0iMzcuNCIvPgoJPHBvbHlnb24gcG9pbnRzPSIyNjcuMSwxNDUuMSAyNjcuNywxNDQuNCAyNjcuMSwxNDMuNyAyNjcuMSwxNDMuNyAyNjYuNSwxNDIuOCAyNjYsMTQyLjEgMjY2LDE0Mi4xIDI0Ny4xLDExNi4xIDI0NS4yLDExNy41IAoJCTI2NCwxNDMuNSAyNjQsMTQzLjUgMjY0LjQsMTQ0IDI2NC43LDE0NC40IDI0NS45LDE3MC4zIDI0Ny44LDE3MS43IDI2NiwxNDYuNyAyNjYsMTQ2LjcgMjY2LDE0Ni42IDI2Ny4xLDE0NS4xIAkiLz4KCTxyZWN0IHg9IjIzMi45IiB5PSIxNTIuOSIgdHJhbnNmb3JtPSJtYXRyaXgoMC41ODc2IC0wLjgwOTEgMC44MDkxIDAuNTg3NiAtMjMuMDYyNCAyNjIuODY1OCkiIHdpZHRoPSIyNi45IiBoZWlnaHQ9IjIuNCIvPgoJPHBvbHlnb24gcG9pbnRzPSIyMTQuOSwxMDIuMiAxNzcuNywxMTQuMyAxMzQsODkuMSAxMzQsNTAuMiAxMzEuNyw1MC4yIDEzMS43LDg3LjcgMTI4LjUsODUuOSAxMjcuNyw4NS40IDEyNi44LDg1LjkgMTIzLjcsODcuNyAKCQkxMjMuNyw1MC4yIDEyMS4zLDUwLjIgMTIxLjMsODkuMSA5My43LDEwNS4xIDk0LjksMTA3LjEgMTI2LjUsODguOSAxMjYuNSw4OC45IDEyNy43LDg4LjIgMTI4LjgsODguOSAxMjguOCw4OC44IDE3Ni4zLDExNi4zIAoJCTE3Ni4zLDE3Mi41IDE0My42LDE5MS41IDE0NC44LDE5My41IDE3Ny43LDE3NC41IDIxNC45LDE4Ni42IDIxNS42LDE4NC4zIDE3OC43LDE3Mi4zIDE3OC43LDExNi41IDIxNS42LDEwNC41IAkiLz4KCTxyZWN0IHg9IjIyNi44IiB5PSI1OC44IiB0cmFuc2Zvcm09Im1hdHJpeCgwLjMwOTQgLTAuOTUwOSAwLjk1MDkgMC4zMDk0IDExMS44OTczIDI3NC4wMzI1KSIgd2lkdGg9IjM1LjciIGhlaWdodD0iMi40Ii8+Cgk8cG9seWdvbiBwb2ludHM9IjcwLjQsMTA3LjEgNzAuNSwxMDcuMSA4NC45LDEyOS41IDg4LjcsMTI5LjUgODguNywxMDAuOCA4NS4xLDEwMC44IDg1LjEsMTIzLjEgODUuMSwxMjMuMSA3MC43LDEwMC44IDY2LjgsMTAwLjggCgkJNjYuOCwxMjkuNSA3MC40LDEyOS41IAkiLz4KCTxwb2x5Z29uIHBvaW50cz0iNzksMTcxLjIgNzksMTM1LjkgNzYuNiwxMzUuOSA3Ni42LDE2Ni41IDQyLjYsMTg2LjEgNDMuOSwxODguMiA3Ni42LDE2OS4zIDc2LjYsMTcxLjIgNzYuNiwxNzMuMiA3Ni42LDE3My45IAoJCTc4LjksMTc1LjMgNzguOSwxNzUuMyA4MC42LDE3Ni4yIDQ3LjgsMTk1LjEgNDksMTk3LjIgODMsMTc3LjYgMTEwLjUsMTkzLjUgMTExLjcsMTkxLjUgNzksMTcyLjUgCSIvPgoJPHBvbHlnb24gcG9pbnRzPSIxMzUuMSwyMDkuNSAxMzUsMjA5LjUgMTIwLjYsMTg3LjIgMTE2LjcsMTg3LjIgMTE2LjcsMjE1LjkgMTIwLjMsMjE1LjkgMTIwLjMsMTkzLjUgMTIwLjMsMTkzLjUgMTM0LjcsMjE1LjkgCgkJMTM4LjYsMjE1LjkgMTM4LjYsMTg3LjIgMTM1LjEsMTg3LjIgCSIvPgoJPHBhdGggZD0iTTM0LjksMTg4LjhjLTMuMS0xLjgtNy0xLjgtNy0xLjhjLTMuOSwwLTcsMS44LTcsMS44Yy0zLjIsMS44LTQuOSw1LjItNC45LDUuMmMtMS44LDMuNC0xLjgsNy44LTEuOCw3LjgKCQljMCw0LjMsMS44LDcuNywxLjgsNy43YzEuOCwzLjQsNC45LDUuMiw0LjksNS4yYzMuMSwxLjgsNy4xLDEuOCw3LjEsMS44YzMuOSwwLDctMS44LDctMS44YzMuMS0xLjgsNC45LTUuMiw0LjktNS4yCgkJYzEuOC0zLjQsMS44LTcuOCwxLjgtNy44YzAtNC41LTEuOC03LjgtMS44LTcuOEMzOC4xLDE5MC42LDM0LjksMTg4LjgsMzQuOSwxODguOHogTTM2LjQsMjA4Yy0xLjIsMi42LTMuNSw0LTMuNSw0CgkJYy0yLjIsMS40LTUsMS40LTUsMS40Yy0yLjgsMC01LjEtMS40LTUuMS0xLjRjLTIuMi0xLjQtMy40LTQtMy40LTRjLTEuMy0yLjYtMS4zLTYuMS0xLjMtNi4xYzAtMy42LDEuMi02LjMsMS4yLTYuMwoJCWMxLjItMi42LDMuNC00LDMuNC00YzIuMi0xLjQsNS4xLTEuNCw1LjEtMS40YzIuOSwwLDUuMSwxLjQsNS4xLDEuNGMyLjIsMS40LDMuNCw0LDMuNCw0YzEuMiwyLjYsMS4yLDYuMiwxLjIsNi4yCgkJQzM3LjcsMjA1LjQsMzYuNCwyMDgsMzYuNCwyMDh6Ii8+Cgk8cGF0aCBkPSJNMTIwLjYsNDEuOWMzLjIsMS44LDcuMSwxLjgsNy4xLDEuOGMzLjksMCw3LTEuOCw3LTEuOGMzLjEtMS44LDQuOS01LjIsNC45LTUuMmMxLjgtMy40LDEuOC03LjgsMS44LTcuOAoJCWMwLTQuNS0xLjgtNy44LTEuOC03LjhjLTEuOC0zLjMtNC45LTUuMi00LjktNS4yYy0zLjEtMS44LTctMS44LTctMS44Yy0zLjksMC03LDEuOC03LDEuOGMtMy4yLDEuOC00LjksNS4yLTQuOSw1LjIKCQljLTEuOCwzLjQtMS44LDcuOC0xLjgsNy44YzAsNC4zLDEuOCw3LjcsMS44LDcuN0MxMTcuNSw0MC4xLDEyMC42LDQxLjksMTIwLjYsNDEuOXogTTExOS4xLDIyLjhjMS4yLTIuNiwzLjUtNCwzLjUtNAoJCWMyLjItMS40LDUuMS0xLjQsNS4xLTEuNGMyLjksMCw1LjEsMS40LDUuMSwxLjRjMi4yLDEuNCwzLjUsNCwzLjUsNGMxLjIsMi42LDEuMiw2LjIsMS4yLDYuMmMwLDMuNi0xLjIsNi4yLTEuMiw2LjIKCQljLTEuMiwyLjYtMy41LDQtMy41LDRjLTIuMiwxLjQtNSwxLjQtNSwxLjRjLTIuOCwwLTUtMS40LTUtMS40Yy0yLjItMS40LTMuNS00LTMuNS00Yy0xLjItMi42LTEuMi02LjEtMS4yLTYuMQoJCUMxMTcuOSwyNS41LDExOS4xLDIyLjgsMTE5LjEsMjIuOHoiLz4KCTxwb2x5Z29uIHBvaW50cz0iMjM5LjcsMTk4LjUgMjM5LjYsMTk4LjUgMjI1LjMsMTc2LjIgMjIxLjMsMTc2LjIgMjIxLjMsMjA0LjkgMjI0LjksMjA0LjkgMjI0LjksMTgyLjUgMjI1LDE4Mi41IDIzOS40LDIwNC45IAoJCTI0My4zLDIwNC45IDI0My4zLDE3Ni4yIDIzOS43LDE3Ni4yIAkiLz4KCTxwb2x5Z29uIHBvaW50cz0iMjI0LjksODkuMyAyMjUsODkuMyAyMzkuNCwxMTEuNyAyNDMuMywxMTEuNyAyNDMuMyw4MyAyMzkuNyw4MyAyMzkuNywxMDUuMyAyMzkuNiwxMDUuMyAyMjUuMyw4MyAyMjEuMyw4MyAKCQkyMjEuMywxMTEuNyAyMjQuOSwxMTEuNyAJIi8+CjwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Caffeine" camel.apache.org/kamelet.namespace: "Cache" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Caffeine Action" description: Perform operations on a caffeine cache required: - cacheName type: object properties: cacheName: title: Cache name description: The name of the cache we want to use type: string default: caffeine-cache dependencies: - "camel:core" - "camel:caffeine" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[caffeine-key]}" steps: - setHeader: name: CamelCaffeineKey simple: "${header[caffeine-key]}" - simple: "${header[ce-caffeinekey]}" steps: - setHeader: name: CamelCaffeineKey simple: "${header[ce-caffeinekey]}" otherwise: steps: - setHeader: name: CamelCaffeineKey simple: "${body}" - choice: when: - simple: "${header[caffeine-operation]}" steps: - setHeader: name: CamelCaffeineAction simple: "${header[caffeine-operation]}" - simple: "${header[ce-caffeineoperation]}" steps: - setHeader: name: CamelCaffeineAction simple: "${header[ce-caffeineoperation]}" otherwise: steps: - setHeader: name: CamelCaffeineAction constant: "GET" - to: uri: "caffeine-cache:{{cacheName}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: cassandra-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHRpdGxlPmNhc3NhbmRyYTwvdGl0bGU+CjxwYXRoIGQ9Ik0yMy4zLDguN2MwLDAtMC4zLDAuMy0wLjUsMC41Yy0wLjUsMC41LTEuMiwxLjMtMS43LDEuNWgwYy0wLjEsMC0wLjEsMC0wLjItMC4xbDAuOS0xLjlsMCwwYzAsMC4xLTEsMS45LTIuMiwxLjZsMCwwCgljMCwwLDAsMC0wLjEsMGMwLjYtMC44LDAuOC0xLjUsMC44LTEuNXMtMSwxLjYtMi4zLDEuMmMwLDAtMC4xLDAtMC4xLTAuMWMwLDAsMC0wLjEsMC0wLjFjMC0wLjEsMC4xLTAuMSwwLjEtMC4yCgljMC4xLTAuMiwwLjMtMC41LDAuMy0wLjVTMTguMyw5LjUsMTgsOS43bDAsMGMtMC4yLDAuMS0wLjUsMC4zLTAuNywwLjNjLTAuMSwwLTAuMSwwLTAuMiwwYy0wLjMtMC4xLTAuMy0wLjMtMC4yLTAuNgoJYzAuMS0wLjMsMC4yLTAuNSwwLjItMC41cy0wLjMsMC40LTAuNSwwLjhjLTAuMiwwLjMtMC40LDAuNS0wLjYsMC42bC0wLjIsMGMtMC4xLTAuMiwwLjEtMSwwLjEtMWMtMC4xLDAuMi0wLjMsMC40LTAuNCwwLjYKCWMtMC4xLDAuMi0wLjMsMC4zLTAuNSwwLjRoMGMtMC4xLDAtMC4yLDAtMC4zLDBjMCwwLTAuMS0wLjEtMC4xLTAuMmMtMC4xLTAuNCwwLjItMSwwLjItMWMwLDAtMC4xLDAuMy0wLjMsMC43djAKCWMwLDAuMS0wLjEsMC4yLTAuMSwwLjJjLTAuMSwwLjItMC4yLDAuMy0wLjMsMC4zYy0wLjItMC4xLTAuMy0wLjMtMC4zLTAuNWMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjRzMCwwLjMtMC4yLDAuNwoJYzAsMC4xLTAuMSwwLjItMC4yLDAuM2MwLDAtMC4xLDAuMS0wLjEsMC4xYy0xLjIsMC4yLTIuNCwwLjYtMy41LDFjLTAuMywwLjEtMC42LDAuMi0wLjksMC4zYy0xLDAuNC0yLDEtMy4xLDEuNwoJYy0xLjIsMC44LTIuMywxLjYtMy40LDIuNmMtMC42LDAuNS0xLjIsMS4xLTEuOCwxLjdjNC43LTIuNiw2LjYtNi4zLDE1LjUtNi43YzYuNy0wLjMsOS45LDIuOCwxMC45LDIuOWMyLjYsMC4xLDQuMy0xLjksNC45LTIuNgoJYzAuMS0wLjIsMC4yLTAuMywwLjItMC4zYzAsMC0wLjQsMC41LTEsMWwwLDBjLTAuNiwwLjUtMS40LDAuOS0yLjEsMC44aDBjLTAuMSwwLTAuMiwwLTAuMywwYzEtMC42LDEuNi0xLjYsMi0yLjEKCWMwLjEtMC4yLDAuMy0wLjUsMC4zLTAuNXMtMi4zLDIuNC00LjEsMi4yYy0wLjEsMC0wLjEsMC0wLjIsMGMwLjgtMC42LDEuMy0xLjQsMS43LTIuMXYwaDBjMC40LTAuNywwLjYtMS4zLDAuNi0xLjMKCWMwLDAtMC40LDAuNy0xLDEuNGwwLDBjLTAuNiwwLjctMS4zLDEuNS0yLDEuN2MtMC4xLDAtMC4yLDAuMS0wLjMsMC4xYzEuNC0xLjMsMi4xLTMuMSwyLjEtMy4xcy0xLjUsMi4xLTIuNywyLjUKCWMtMC4xLDAtMC4yLDAuMS0wLjIsMC4xYzAuOC0wLjcsMS4yLTEuMiwxLjQtMS43YzAuMy0wLjUsMC40LTAuOSwwLjQtMC45bDAsMGMtMC4xLDAuMi0wLjIsMC4zLTAuNCwwLjRsMCwwYy0wLjMsMC40LTAuOSwxLTEuNCwxLjQKCWwwLDBjLTAuMSwwLjEtMC4zLDAuMi0wLjQsMC4zYzAsMC0wLjEsMC4xLTAuMSwwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjQsMC4yYzAsMC0wLjEsMC0wLjEsMGMtMC4xLTAuMS0wLjItMC4xLTAuMy0wLjIKCWMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjJoMGMwLDAtMC4xLDAtMC4xLDBjMS4xLTEuMiwxLjktMi44LDEuOS0yLjhsMCwwYzAsMC0xLjYsMi4xLTIuMywyLjNjLTAuMSwwLTAuMi0wLjEtMC4zLTAuMQoJYzAtMC4xLDAtMC4xLDAuMS0wLjJjMC4yLTAuNCwwLjYtMSwwLjYtMXMtMC4xLDAuMS0wLjIsMC4xYy0wLjEsMC4xLTAuMywwLjItMC40LDAuM2MtMC4xLDAuMS0wLjIsMC4xLTAuMiwwLjEKCWMtMC4xLDAuMS0wLjIsMC4xLTAuMywwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjMsMC4xYy0wLjEsMC0wLjEsMC0wLjEsMEMyMi4zLDEwLjUsMjMuMyw4LjcsMjMuMyw4LjdMMjMuMyw4Ljd6IE0xNywxMS42CgljLTAuNCwwLTAuOCwwLTEuMiwwYy0wLjQsMC0wLjcsMC0xLjEsMC4xYy0wLjQsMC4yLTAuNywwLjQtMSwwLjZjMCwwLjEsMCwwLjEsMCwwLjJjMCwwLjEsMCwwLjItMC4xLDAuMmwxLjIsMC45bDAsMGwtMC41LTEuNwoJbDAuOCwxLjVjMCwwLDAuMSwwLDAuMSwwbDAtMS42bDAuNSwxLjZsMC42LTEuNWwwLDEuN2MwLDAsMCwwLDAsMGwwLjktMS4zbC0wLjUsMS42bDAsMGwxLjQtMC45bC0xLDEuNHYwbDEuMy0wLjVjMCwwLDAsMCwwLjEtMC4xCgljLTAuMy0wLjQsMC0wLjksMC41LTAuOGMwLjItMC4zLDAuMy0wLjcsMC40LTFDMTguNiwxMS43LDE3LjgsMTEuNiwxNywxMS42TDE3LDExLjZ6IE0xMy42LDExLjhMMTMuNiwxMS44Yy0wLjQsMC0wLjgsMC4xLTEuMiwwLjIKCXMtMC44LDAuMS0xLjEsMC4yaDBjMC4yLDAuNSwwLjQsMSwwLjcsMS40YzAuMS0wLjMsMC4zLTAuNiwwLjUtMC45Yy0wLjItMC41LDAuMy0wLjksMC44LTAuN0MxMy40LDExLjksMTMuNSwxMS44LDEzLjYsMTEuOAoJTDEzLjYsMTEuOHogTTE5LjYsMTEuOWMwLDAuNC0wLjEsMC43LTAuMiwxLjFjMC40LDAuMywwLjEsMS0wLjQsMC45Yy0wLjIsMC4zLTAuNSwwLjYtMC43LDAuOGwwLjksMGwtMS4zLDAuM2MwLDAtMC4xLDAuMS0wLjEsMC4xCgljMC44LDAuMSwxLjUsMC40LDIuMSwwLjljMC40LTAuOCwwLjctMS42LDAuNy0yLjZDMjAuNCwxMi44LDIwLDEyLjMsMTkuNiwxMS45TDE5LjYsMTEuOXogTTExLjEsMTIuMmMtMC40LDAuMS0wLjgsMC4yLTEuMSwwLjMKCWMtMC4yLDAuMy0wLjMsMC43LTAuMywxYzAsMi4yLDEuMyw0LDMuMSw0LjlsMCwwYy0wLjMtMC4zLTAuNi0wLjctMC44LTEuMWMtMC45LDAuMS0xLjItMS4xLTAuNC0xLjRjLTAuMS0wLjYsMC0xLjMsMC4yLTEuOQoJQzExLjUsMTMuNSwxMS4yLDEyLjksMTEuMSwxMi4yTDExLjEsMTIuMnogTTIxLjMsMTIuMmMwLjIsMC41LDAuMywxLjEsMC4zLDEuN2MwLDMuMy0yLjksNS45LTYuNiw1LjljLTMuNiwwLTYuNi0yLjYtNi42LTUuOQoJYzAtMC4zLDAtMC42LDAuMS0wLjljLTEsMC40LTEuOSwwLjktMi44LDEuNWMtMC4zLDAuNS0wLjQsMS4xLTAuNCwxLjZjMC4xLDEuMywxLjMsMi40LDMsMy4ybC0wLjMtMC4xYy0zLjEtMC45LTUuNSwwLjctOC4xLTAuNwoJYzAuNiwwLjUsMS4zLDEsMy4zLDFjMC43LDAsMi45LTAuMSwzLjMsMC4yYzAuNCwwLjMtMS40LDItMS40LDJzMy0yLjUsMy4zLTEuN2MwLjIsMC41LTAuOSwyLTAuOSwyczEtMS40LDEuOC0xLjcKCWMwLjUtMC4yLDEtMC4yLDEuNCwwLjRjMC4yLDAuMy0xLjIsMi4xLTEuMiwyLjFzMi0xLjksMi4zLTEuOGMwLjQsMC4xLDAsMS44LDAsMS44czAuNy0xLjcsMS4xLTEuOWMwLjUtMC4yLTEuMiw0LTEuMiw0CglzMi4xLTMuOSwyLjUtNGMwLjctMC4yLDEuMSwyLjcsMS4xLDIuN3MtMC4zLTIuNSwwLTIuN2MyLjMtMSwxLDQuMywxLDQuM3MxLjUtMy42LDAuNi00LjRjMi40LDEuNiwyLjEsNC40LDIuMSw0LjRzMC42LTEuNC0xLjEtNC43CgljMSwwLDIuNCwyLjUsMi40LDIuNXMtMS42LTIuOC0wLjUtMi44YzIuMS0wLjEsMi4zLDMuNywyLjMsMy43czAuNi0wLjUtMS4xLTQuMmMxLjEtMC43LDMuNywzLjQsMy43LDMuNHMtMi40LTQtMi00LjMKCWMwLjQtMC4zLDEuOCwxLjMsMS44LDEuM3MtMS4xLTEuNS0wLjgtMS42YzAuMy0wLjIsMy4yLDIuOSwzLjIsMi45cy0yLjUtMy0yLjEtMy40YzAuNC0wLjQsMi4zLDEsMi4zLDFzLTIuOC0xLjktMi4zLTIuMgoJYzAuOC0wLjQsMywxLDMsMXMtMS4zLTEuMS0xLjEtMS40YzAuMi0wLjMsMi44LDEuNywyLjgsMS43cy0yLjMtMS44LTIuNC0yLjNjLTAuMS0wLjUsMS44LDAuMiwxLjgsMC4ycy0yLjEtMS0yLjItMS4zCgljMC0wLjMsMS40LDAuMywxLjQsMC4zcy0yLTEuNi0yLjUtMC4zYy0wLjEsMC4yLTAuMiwwLjQtMC40LDAuNmMwLjEtMC40LDAuMi0wLjcsMC4xLTEuMWMwLTAuMSwwLTAuMi0wLjEtMC40CglDMjQuNiwxMy41LDIzLjIsMTIuOCwyMS4zLDEyLjJMMjEuMywxMi4yeiBNMTMuNSwxMi44Yy0wLjEsMC4yLTAuNCwwLjMtMC43LDAuMmMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjNsMS43LDAuNmMwLDAsMCwwLDAtMC4xCglMMTMuNSwxMi44eiBNMTIuNywxMy40Yy0wLjEsMC4yLTAuMiwwLjQtMC4zLDAuN2MwLjIsMC4yLDAuMywwLjMsMC41LDAuNWwxLjIsMGwwLDBMMTIuNywxMy40eiBNMTguMiwxNC4xbC0wLjgsMC42bDAuMSwwCglDMTcuOCwxNC41LDE4LDE0LjMsMTguMiwxNC4xeiBNMTIuMiwxNC41QzEyLjIsMTQuNSwxMi4yLDE0LjUsMTIuMiwxNC41Yy0wLjEsMC41LTAuMSwwLjktMC4xLDEuM2MwLjMsMC4xLDAuNiwwLjMsMC42LDAuNmwxLjItMC44CgljLTAuMSwwLTAuMi0wLjEtMC4zLTAuMWwtMS40LTAuMWwwLjgtMC4yQzEyLjgsMTUsMTIuNSwxNC44LDEyLjIsMTQuNUwxMi4yLDE0LjV6IE0xMy4zLDE0LjhjMC4yLDAuMSwwLjQsMC4yLDAuNiwwLjNsMC4yLDAKCWMwLDAsMCwwLDAtMC4xTDEzLjMsMTQuOHogTTE3LjQsMTUuN2wxLjIsMS4yTDE3LDE2LjJsMC45LDEuNGwtMS40LTEuMWwwLDBsMC41LDEuN2wtMC44LTEuNWwtMC4xLDEuOGwtMC41LTEuOGwtMC42LDEuN2wwLjItMS44CglsMCwwTDE0LDE4LjJsMC40LTEuNWMtMC41LDAuNC0wLjgsMS0xLjEsMS42YzAuMSwwLjEsMC4zLDAuMywwLjQsMC40YzIuMiwwLjYsNC42LTAuMyw1LjgtMi4zYy0wLjUtMC4zLTEuMS0wLjYtMS43LTAuN0wxNy40LDE1Ljd6CgkgTTE0LjIsMTZsLTEuNCwwLjVjMCwwLDAsMCwwLDAuMWMwLDAuMi0wLjEsMC40LTAuMiwwLjZjMC4xLDAuMywwLjMsMC42LDAuNSwwLjhjMC4xLTAuMywwLjMtMC42LDAuNC0wLjhMMTMsMTcuNEwxNC4yLDE2egoJIE0xOSwxOS43Yy0wLjIsMC4xLTAuNSwwLjEtMC44LDAuMkMxOC41LDE5LjgsMTguOCwxOS43LDE5LDE5Ljd6IE0xNy42LDIwYy0wLjIsMC0wLjMsMC4xLTAuNSwwLjFjLTAuMywwLTAuNSwwLjEtMC44LDAuMQoJQzE2LjgsMjAuMSwxNy4yLDIwLjEsMTcuNiwyMEwxNy42LDIweiBNMTUuOCwyMC4yYy0wLjEsMC0wLjMsMC0wLjQsMEMxNS41LDIwLjIsMTUuNiwyMC4yLDE1LjgsMjAuMnoiLz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" 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 an Apache Cassandra cluster. required: - connectionHost - connectionPort - keyspace - query type: object properties: connectionHost: title: Connection Host 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: 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: The keyspace to use. type: string example: customers username: title: Username description: The username for accessing a secured Cassandra cluster. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password for accessing a secured Cassandra cluster. type: string format: password x-descriptors: - urn:camel:group:credentials consistencyLevel: title: Consistency Level 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 query: title: Query 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"] jsonPayload: title: JSON Payload description: If we want to transform the payload in json or not type: boolean default: true types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:cassandraql" - "camel:core" template: beans: - name: local-sql-cassandraql-sink type: "#class:org.apache.camel.component.cassandra.CassandraComponent" properties: autowiredEnabled: "false" from: uri: "kamelet:source" steps: - choice: precondition: true when: - simple: '${properties:jsonPayload:true}' steps: - unmarshal: json: library: Jackson useList: true - to: uri: "{{local-sql-cassandraql-sink}}://{{connectionHost}}:{{connectionPort}}/{{keyspace}}" parameters: username: "{{?username}}" password: "{{?password}}" prepareStatements: "{{prepareStatements}}" consistencyLevel: "{{consistencyLevel}}" cql: "{{query}}" extraTypeCodecs: "{{?extraTypeCodecs}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: cassandra-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCAzMiAzMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzIgMzI7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHRpdGxlPmNhc3NhbmRyYTwvdGl0bGU+CjxwYXRoIGQ9Ik0yMy4zLDguN2MwLDAtMC4zLDAuMy0wLjUsMC41Yy0wLjUsMC41LTEuMiwxLjMtMS43LDEuNWgwYy0wLjEsMC0wLjEsMC0wLjItMC4xbDAuOS0xLjlsMCwwYzAsMC4xLTEsMS45LTIuMiwxLjZsMCwwCgljMCwwLDAsMC0wLjEsMGMwLjYtMC44LDAuOC0xLjUsMC44LTEuNXMtMSwxLjYtMi4zLDEuMmMwLDAtMC4xLDAtMC4xLTAuMWMwLDAsMC0wLjEsMC0wLjFjMC0wLjEsMC4xLTAuMSwwLjEtMC4yCgljMC4xLTAuMiwwLjMtMC41LDAuMy0wLjVTMTguMyw5LjUsMTgsOS43bDAsMGMtMC4yLDAuMS0wLjUsMC4zLTAuNywwLjNjLTAuMSwwLTAuMSwwLTAuMiwwYy0wLjMtMC4xLTAuMy0wLjMtMC4yLTAuNgoJYzAuMS0wLjMsMC4yLTAuNSwwLjItMC41cy0wLjMsMC40LTAuNSwwLjhjLTAuMiwwLjMtMC40LDAuNS0wLjYsMC42bC0wLjIsMGMtMC4xLTAuMiwwLjEtMSwwLjEtMWMtMC4xLDAuMi0wLjMsMC40LTAuNCwwLjYKCWMtMC4xLDAuMi0wLjMsMC4zLTAuNSwwLjRoMGMtMC4xLDAtMC4yLDAtMC4zLDBjMCwwLTAuMS0wLjEtMC4xLTAuMmMtMC4xLTAuNCwwLjItMSwwLjItMWMwLDAtMC4xLDAuMy0wLjMsMC43djAKCWMwLDAuMS0wLjEsMC4yLTAuMSwwLjJjLTAuMSwwLjItMC4yLDAuMy0wLjMsMC4zYy0wLjItMC4xLTAuMy0wLjMtMC4zLTAuNWMtMC4xLTAuMi0wLjEtMC40LTAuMS0wLjRzMCwwLjMtMC4yLDAuNwoJYzAsMC4xLTAuMSwwLjItMC4yLDAuM2MwLDAtMC4xLDAuMS0wLjEsMC4xYy0xLjIsMC4yLTIuNCwwLjYtMy41LDFjLTAuMywwLjEtMC42LDAuMi0wLjksMC4zYy0xLDAuNC0yLDEtMy4xLDEuNwoJYy0xLjIsMC44LTIuMywxLjYtMy40LDIuNmMtMC42LDAuNS0xLjIsMS4xLTEuOCwxLjdjNC43LTIuNiw2LjYtNi4zLDE1LjUtNi43YzYuNy0wLjMsOS45LDIuOCwxMC45LDIuOWMyLjYsMC4xLDQuMy0xLjksNC45LTIuNgoJYzAuMS0wLjIsMC4yLTAuMywwLjItMC4zYzAsMC0wLjQsMC41LTEsMWwwLDBjLTAuNiwwLjUtMS40LDAuOS0yLjEsMC44aDBjLTAuMSwwLTAuMiwwLTAuMywwYzEtMC42LDEuNi0xLjYsMi0yLjEKCWMwLjEtMC4yLDAuMy0wLjUsMC4zLTAuNXMtMi4zLDIuNC00LjEsMi4yYy0wLjEsMC0wLjEsMC0wLjIsMGMwLjgtMC42LDEuMy0xLjQsMS43LTIuMXYwaDBjMC40LTAuNywwLjYtMS4zLDAuNi0xLjMKCWMwLDAtMC40LDAuNy0xLDEuNGwwLDBjLTAuNiwwLjctMS4zLDEuNS0yLDEuN2MtMC4xLDAtMC4yLDAuMS0wLjMsMC4xYzEuNC0xLjMsMi4xLTMuMSwyLjEtMy4xcy0xLjUsMi4xLTIuNywyLjUKCWMtMC4xLDAtMC4yLDAuMS0wLjIsMC4xYzAuOC0wLjcsMS4yLTEuMiwxLjQtMS43YzAuMy0wLjUsMC40LTAuOSwwLjQtMC45bDAsMGMtMC4xLDAuMi0wLjIsMC4zLTAuNCwwLjRsMCwwYy0wLjMsMC40LTAuOSwxLTEuNCwxLjQKCWwwLDBjLTAuMSwwLjEtMC4zLDAuMi0wLjQsMC4zYzAsMC0wLjEsMC4xLTAuMSwwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjQsMC4yYzAsMC0wLjEsMC0wLjEsMGMtMC4xLTAuMS0wLjItMC4xLTAuMy0wLjIKCWMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjJoMGMwLDAtMC4xLDAtMC4xLDBjMS4xLTEuMiwxLjktMi44LDEuOS0yLjhsMCwwYzAsMC0xLjYsMi4xLTIuMywyLjNjLTAuMSwwLTAuMi0wLjEtMC4zLTAuMQoJYzAtMC4xLDAtMC4xLDAuMS0wLjJjMC4yLTAuNCwwLjYtMSwwLjYtMXMtMC4xLDAuMS0wLjIsMC4xYy0wLjEsMC4xLTAuMywwLjItMC40LDAuM2MtMC4xLDAuMS0wLjIsMC4xLTAuMiwwLjEKCWMtMC4xLDAuMS0wLjIsMC4xLTAuMywwLjFjLTAuMSwwLjEtMC4yLDAuMS0wLjMsMC4xYy0wLjEsMC0wLjEsMC0wLjEsMEMyMi4zLDEwLjUsMjMuMyw4LjcsMjMuMyw4LjdMMjMuMyw4Ljd6IE0xNywxMS42CgljLTAuNCwwLTAuOCwwLTEuMiwwYy0wLjQsMC0wLjcsMC0xLjEsMC4xYy0wLjQsMC4yLTAuNywwLjQtMSwwLjZjMCwwLjEsMCwwLjEsMCwwLjJjMCwwLjEsMCwwLjItMC4xLDAuMmwxLjIsMC45bDAsMGwtMC41LTEuNwoJbDAuOCwxLjVjMCwwLDAuMSwwLDAuMSwwbDAtMS42bDAuNSwxLjZsMC42LTEuNWwwLDEuN2MwLDAsMCwwLDAsMGwwLjktMS4zbC0wLjUsMS42bDAsMGwxLjQtMC45bC0xLDEuNHYwbDEuMy0wLjVjMCwwLDAsMCwwLjEtMC4xCgljLTAuMy0wLjQsMC0wLjksMC41LTAuOGMwLjItMC4zLDAuMy0wLjcsMC40LTFDMTguNiwxMS43LDE3LjgsMTEuNiwxNywxMS42TDE3LDExLjZ6IE0xMy42LDExLjhMMTMuNiwxMS44Yy0wLjQsMC0wLjgsMC4xLTEuMiwwLjIKCXMtMC44LDAuMS0xLjEsMC4yaDBjMC4yLDAuNSwwLjQsMSwwLjcsMS40YzAuMS0wLjMsMC4zLTAuNiwwLjUtMC45Yy0wLjItMC41LDAuMy0wLjksMC44LTAuN0MxMy40LDExLjksMTMuNSwxMS44LDEzLjYsMTEuOAoJTDEzLjYsMTEuOHogTTE5LjYsMTEuOWMwLDAuNC0wLjEsMC43LTAuMiwxLjFjMC40LDAuMywwLjEsMS0wLjQsMC45Yy0wLjIsMC4zLTAuNSwwLjYtMC43LDAuOGwwLjksMGwtMS4zLDAuM2MwLDAtMC4xLDAuMS0wLjEsMC4xCgljMC44LDAuMSwxLjUsMC40LDIuMSwwLjljMC40LTAuOCwwLjctMS42LDAuNy0yLjZDMjAuNCwxMi44LDIwLDEyLjMsMTkuNiwxMS45TDE5LjYsMTEuOXogTTExLjEsMTIuMmMtMC40LDAuMS0wLjgsMC4yLTEuMSwwLjMKCWMtMC4yLDAuMy0wLjMsMC43LTAuMywxYzAsMi4yLDEuMyw0LDMuMSw0LjlsMCwwYy0wLjMtMC4zLTAuNi0wLjctMC44LTEuMWMtMC45LDAuMS0xLjItMS4xLTAuNC0xLjRjLTAuMS0wLjYsMC0xLjMsMC4yLTEuOQoJQzExLjUsMTMuNSwxMS4yLDEyLjksMTEuMSwxMi4yTDExLjEsMTIuMnogTTIxLjMsMTIuMmMwLjIsMC41LDAuMywxLjEsMC4zLDEuN2MwLDMuMy0yLjksNS45LTYuNiw1LjljLTMuNiwwLTYuNi0yLjYtNi42LTUuOQoJYzAtMC4zLDAtMC42LDAuMS0wLjljLTEsMC40LTEuOSwwLjktMi44LDEuNWMtMC4zLDAuNS0wLjQsMS4xLTAuNCwxLjZjMC4xLDEuMywxLjMsMi40LDMsMy4ybC0wLjMtMC4xYy0zLjEtMC45LTUuNSwwLjctOC4xLTAuNwoJYzAuNiwwLjUsMS4zLDEsMy4zLDFjMC43LDAsMi45LTAuMSwzLjMsMC4yYzAuNCwwLjMtMS40LDItMS40LDJzMy0yLjUsMy4zLTEuN2MwLjIsMC41LTAuOSwyLTAuOSwyczEtMS40LDEuOC0xLjcKCWMwLjUtMC4yLDEtMC4yLDEuNCwwLjRjMC4yLDAuMy0xLjIsMi4xLTEuMiwyLjFzMi0xLjksMi4zLTEuOGMwLjQsMC4xLDAsMS44LDAsMS44czAuNy0xLjcsMS4xLTEuOWMwLjUtMC4yLTEuMiw0LTEuMiw0CglzMi4xLTMuOSwyLjUtNGMwLjctMC4yLDEuMSwyLjcsMS4xLDIuN3MtMC4zLTIuNSwwLTIuN2MyLjMtMSwxLDQuMywxLDQuM3MxLjUtMy42LDAuNi00LjRjMi40LDEuNiwyLjEsNC40LDIuMSw0LjRzMC42LTEuNC0xLjEtNC43CgljMSwwLDIuNCwyLjUsMi40LDIuNXMtMS42LTIuOC0wLjUtMi44YzIuMS0wLjEsMi4zLDMuNywyLjMsMy43czAuNi0wLjUtMS4xLTQuMmMxLjEtMC43LDMuNywzLjQsMy43LDMuNHMtMi40LTQtMi00LjMKCWMwLjQtMC4zLDEuOCwxLjMsMS44LDEuM3MtMS4xLTEuNS0wLjgtMS42YzAuMy0wLjIsMy4yLDIuOSwzLjIsMi45cy0yLjUtMy0yLjEtMy40YzAuNC0wLjQsMi4zLDEsMi4zLDFzLTIuOC0xLjktMi4zLTIuMgoJYzAuOC0wLjQsMywxLDMsMXMtMS4zLTEuMS0xLjEtMS40YzAuMi0wLjMsMi44LDEuNywyLjgsMS43cy0yLjMtMS44LTIuNC0yLjNjLTAuMS0wLjUsMS44LDAuMiwxLjgsMC4ycy0yLjEtMS0yLjItMS4zCgljMC0wLjMsMS40LDAuMywxLjQsMC4zcy0yLTEuNi0yLjUtMC4zYy0wLjEsMC4yLTAuMiwwLjQtMC40LDAuNmMwLjEtMC40LDAuMi0wLjcsMC4xLTEuMWMwLTAuMSwwLTAuMi0wLjEtMC40CglDMjQuNiwxMy41LDIzLjIsMTIuOCwyMS4zLDEyLjJMMjEuMywxMi4yeiBNMTMuNSwxMi44Yy0wLjEsMC4yLTAuNCwwLjMtMC43LDAuMmMtMC4xLDAuMS0wLjEsMC4yLTAuMiwwLjNsMS43LDAuNmMwLDAsMCwwLDAtMC4xCglMMTMuNSwxMi44eiBNMTIuNywxMy40Yy0wLjEsMC4yLTAuMiwwLjQtMC4zLDAuN2MwLjIsMC4yLDAuMywwLjMsMC41LDAuNWwxLjIsMGwwLDBMMTIuNywxMy40eiBNMTguMiwxNC4xbC0wLjgsMC42bDAuMSwwCglDMTcuOCwxNC41LDE4LDE0LjMsMTguMiwxNC4xeiBNMTIuMiwxNC41QzEyLjIsMTQuNSwxMi4yLDE0LjUsMTIuMiwxNC41Yy0wLjEsMC41LTAuMSwwLjktMC4xLDEuM2MwLjMsMC4xLDAuNiwwLjMsMC42LDAuNmwxLjItMC44CgljLTAuMSwwLTAuMi0wLjEtMC4zLTAuMWwtMS40LTAuMWwwLjgtMC4yQzEyLjgsMTUsMTIuNSwxNC44LDEyLjIsMTQuNUwxMi4yLDE0LjV6IE0xMy4zLDE0LjhjMC4yLDAuMSwwLjQsMC4yLDAuNiwwLjNsMC4yLDAKCWMwLDAsMCwwLDAtMC4xTDEzLjMsMTQuOHogTTE3LjQsMTUuN2wxLjIsMS4yTDE3LDE2LjJsMC45LDEuNGwtMS40LTEuMWwwLDBsMC41LDEuN2wtMC44LTEuNWwtMC4xLDEuOGwtMC41LTEuOGwtMC42LDEuN2wwLjItMS44CglsMCwwTDE0LDE4LjJsMC40LTEuNWMtMC41LDAuNC0wLjgsMS0xLjEsMS42YzAuMSwwLjEsMC4zLDAuMywwLjQsMC40YzIuMiwwLjYsNC42LTAuMyw1LjgtMi4zYy0wLjUtMC4zLTEuMS0wLjYtMS43LTAuN0wxNy40LDE1Ljd6CgkgTTE0LjIsMTZsLTEuNCwwLjVjMCwwLDAsMCwwLDAuMWMwLDAuMi0wLjEsMC40LTAuMiwwLjZjMC4xLDAuMywwLjMsMC42LDAuNSwwLjhjMC4xLTAuMywwLjMtMC42LDAuNC0wLjhMMTMsMTcuNEwxNC4yLDE2egoJIE0xOSwxOS43Yy0wLjIsMC4xLTAuNSwwLjEtMC44LDAuMkMxOC41LDE5LjgsMTguOCwxOS43LDE5LDE5Ljd6IE0xNy42LDIwYy0wLjIsMC0wLjMsMC4xLTAuNSwwLjFjLTAuMywwLTAuNSwwLjEtMC44LDAuMQoJQzE2LjgsMjAuMSwxNy4yLDIwLjEsMTcuNiwyMEwxNy42LDIweiBNMTUuOCwyMC4yYy0wLjEsMC0wLjMsMC0wLjQsMEMxNS41LDIwLjIsMTUuNiwyMC4yLDE1LjgsMjAuMnoiLz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" 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: Send a query to an Apache Cassandra cluster table. required: - connectionHost - connectionPort - keyspace - query type: object properties: connectionHost: title: Connection Host 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: 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: The keyspace to use. type: string example: customers username: title: Username description: The username for accessing a secured Cassandra cluster. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password for accessing a secured Cassandra cluster. type: string format: password x-descriptors: - urn:camel:group:credentials resultStrategy: title: Result Strategy 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: 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. 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 dependencies: - "camel:jackson" - "camel:kamelet" - "camel:cassandraql" template: beans: - name: local-sql-cassandraql-source type: "#class:org.apache.camel.component.cassandra.CassandraComponent" properties: autowiredEnabled: "false" from: uri: "{{local-sql-cassandraql-source}}://{{connectionHost}}:{{connectionPort}}/{{keyspace}}" parameters: username: "{{?username}}" password: "{{?password}}" cql: "{{query}}" consistencyLevel: "{{consistencyLevel}}" resultSetConversionStrategy: "{{resultStrategy}}" extraTypeCodecs: "{{?extraTypeCodecs}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ceph-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4gPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAiIGhlaWdodD0iMTU3IiB2aWV3Qm94PSIwIDAgMTYwIDE1NyIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZD0iTTc5LjgxNTIgOTYuMDczOUM4OC42ODM2IDk2LjA3MzkgOTUuNzA0NCA4OS4wNTMxIDk1LjcwNDQgODAuMTg0OEM5NS43MDQ0IDcxLjMxNjQgODguNjgzNiA2NC4yOTU2IDc5LjgxNTIgNjQuMjk1NkM3MC45NDY5IDY0LjI5NTYgNjMuOTI2MSA3MS4zMTY0IDYzLjkyNjEgODAuMTg0OEM2My45MjYxIDg4LjY4MzYgNzEuMzE2NCA5Ni4wNzM5IDc5LjgxNTIgOTYuMDczOVpNMTAxLjI0NyAxNTYuMzA1TDEwNS42ODEgMTU0LjgyN0MxMTAuMTE1IDE1My4zNDkgMTE0LjkxOSAxNTEuNTAxIDExOC45ODQgMTQ4LjkxNUMxMTEuNTk0IDE0NC44NSAxMDcuMTU5IDEzNy40NiAxMDcuMTU5IDEyOC45NjFDMTA3LjE1OSAxMjMuNDE4IDEwOS4zNzYgMTE4LjI0NSAxMTMuNDQxIDExMy4wNzJDMTEzLjQ0MSAxMTMuMDcyIDExMy40NDEgMTEzLjA3MiAxMTMuODExIDExMi43MDJMMTE0LjkxOSAxMTEuMjI0QzExNi4wMjggMTA5Ljc0NiAxMTcuMTM2IDEwOC42MzcgMTE4LjI0NSAxMDcuMTU5QzEyMS45NCAxMDEuOTg2IDEyNC44OTYgOTYuMDczOSAxMjYuMzc0IDg5Ljc5MjJDMTI3Ljg1MiA4Mi43NzE0IDEyOC4yMjIgNzUuNzUwNiAxMjYuNzQ0IDY4LjcyOThDMTI1LjI2NiA2Mi40NDggMTIyLjY3OSA1Ni4xNjYzIDExOC45ODQgNTAuOTkzMUMxMTUuMjg5IDQ1LjgxOTkgMTEwLjg1NSA0MS4zODU3IDEwNS4zMTIgMzguMDZDOTkuNzY5MSAzNC43MzQ0IDkzLjQ4NzMgMzIuMTQ3OCA4Ni44MzYgMzEuNDA4OEM4NC42MTg5IDMxLjAzOTMgODIuNDAxOSAzMS4wMzkzIDgwLjE4NDggMzEuMDM5M0g3OS40NDU3Qzc3LjIyODYgMzEuMDM5MyA3NS4wMTE2IDMxLjAzOTMgNzIuNzk0NSAzMS40MDg4QzY2LjE0MzIgMzIuNTE3MyA1OS44NjE0IDM0LjczNDQgNTQuMzE4NyAzOC4wNkM0OS4xNDU1IDQxLjM4NTcgNDQuMzQxOCA0NS44MTk5IDQwLjY0NjcgNTAuOTkzMUMzNi45NTE1IDU2LjE2NjMgMzMuOTk1NCA2Mi40NDggMzIuODg2OCA2OC43Mjk4QzMxLjQwODggNzUuNzUwNiAzMS40MDg4IDgyLjc3MTQgMzMuMjU2NCA4OS40MjI2QzM0LjczNDQgOTUuNzA0NCAzNy42OTA1IDEwMS42MTcgNDEuMzg1NyAxMDYuNzlMNDQuNzExMyAxMTAuODU1TDQ1LjgxOTkgMTEyLjMzM0M0OS44ODQ1IDExNy4xMzYgNTIuMTAxNiAxMjIuNjc5IDUyLjEwMTYgMTI4LjIyMkM1Mi4xMDE2IDEzNi43MjEgNDcuMjk3OSAxNDQuMTExIDQwLjI3NzEgMTQ4LjE3NkM0NC4zNDE4IDE1MC4zOTMgNDkuMTQ1NSAxNTIuNjEgNTMuNTc5NyAxNTQuMDg4TDU4LjM4MzQgMTU1LjU2NkM1OS4xMjI0IDE1NC44MjcgNjIuNDQ4IDE1Mi42MSA2NS40MDQyIDE0OC4xNzZDNjguMzYwMyAxNDQuMTExIDcxLjY4NTkgMTM3LjQ2IDcxLjY4NTkgMTI4LjIyMkM3MS42ODU5IDEyMi42NzkgNzAuNTc3NCAxMTcuNTA2IDY4LjM2MDMgMTEyLjMzM0M2Ni4xNDMyIDEwNy4xNTkgNjMuMTg3MSAxMDIuNzI1IDU5LjQ5MTkgOTguNjYwNUw1OC43NTI5IDk3LjU1MkM1Ny4yNzQ4IDk2LjA3MzkgNTUuNzk2OCA5NC4yMjYzIDU0LjY4ODIgOTIuMzc4OEM1My4yMTAyIDg5Ljc5MjIgNTIuMTAxNiA4Ny41NzUxIDUxLjczMjEgODQuNjE4OUM1MC42MjM2IDgwLjU1NDMgNTAuNjIzNiA3Ni40ODk2IDUxLjczMjEgNzIuNDI0OUM1Mi40NzExIDY4LjcyOTggNTMuOTQ5MiA2NS4wMzQ2IDU2LjE2NjMgNjIuMDc4NUM1OC4zODM0IDU5LjEyMjQgNjAuOTcgNTYuNTM1OCA2NC4yOTU2IDU0LjMxODdDNjcuNjIxMiA1Mi4xMDE2IDcxLjMxNjQgNTAuOTkzMSA3NS4wMTE1IDUwLjI1NEM3Ni40ODk2IDQ5Ljg4NDUgNzcuNTk4MiA0OS44ODQ1IDc5LjA3NjIgNDkuODg0NUg3OS44MTUyQzgxLjI5MzMgNDkuODg0NSA4Mi40MDE5IDQ5Ljg4NDUgODMuODc5OSA1MC4yNTRDODcuNTc1MSA1MC42MjM2IDkxLjI3MDIgNTIuMTAxNiA5NC41OTU4IDU0LjMxODdDOTcuOTIxNSA1Ni4xNjYzIDEwMC41MDggNTguNzUyOSAxMDIuNzI1IDYyLjA3ODVDMTA0Ljk0MiA2NS4wMzQ2IDEwNi40MiA2OC43Mjk4IDEwNy4xNTkgNzIuNDI0OUMxMDcuODk4IDc2LjQ4OTYgMTA3Ljg5OCA4MC41NTQzIDEwNy4xNTkgODQuNjE4OUMxMDYuNDIgODcuMjA1NSAxMDUuNjgxIDg5Ljc5MjIgMTA0LjIwMyA5Mi4zNzg4QzEwMy4wOTUgOTQuMjI2MyAxMDEuNjE3IDk2LjA3MzkgMTAwLjEzOSA5Ny41NTJMOTkuMzk5NSA5OC42NjA1Qzk1LjcwNDQgMTAyLjcyNSA5Mi43NDgzIDEwNy4xNTkgOTAuNTMxMiAxMTIuMzMzQzg4LjMxNDEgMTE3LjUwNiA4Ny4yMDU1IDEyMi42NzkgODcuMjA1NSAxMjguMjIyQzg3LjIwNTUgMTM3LjQ2IDkwLjUzMTIgMTQ0LjExMSA5My40ODczIDE0OC4xNzZDOTYuODEyOSAxNTMuMzQ5IDEwMC4xMzkgMTU1LjkzNSAxMDEuMjQ3IDE1Ni4zMDVaTTEzMC40MzkgMTQxLjUyNEMxMzkuMzA3IDEzNC4xMzQgMTQ3LjA2NyAxMjQuNTI3IDE1MS44NzEgMTE0LjU1QzE1NC40NTcgMTA5LjM3NiAxNTYuMzA1IDEwMy40NjQgMTU3Ljc4MyA5Ny45MjE1QzE1OS4yNjEgOTIuMDA5MiAxNjAgODUuNzI3NSAxNjAgNzkuODE1MkMxNjAgNjkuMDk5MyAxNTcuNzgzIDU4LjM4MzQgMTUzLjcxOCA0OC43NzZDMTQ5LjY1NCAzOS4xNjg2IDE0My43NDEgMzAuNjY5NyAxMzYuNzIxIDIzLjI3OTRDMTI5LjMzIDE1Ljg4OTEgMTIwLjgzMSAxMC4zNDY0IDExMS4yMjQgNi4yODE3NkMxMDEuMjQ3IDIuMjE3MDkgOTAuOTAwNyAwIDgwLjE4NDggMEg3OS44MTUyQzY5LjA5OTMgMCA1OC4zODM0IDIuMjE3MDkgNDguNzc2IDYuMjgxNzZDMzkuMTY4NiAxMC4zNDY0IDMwLjY2OTcgMTYuMjU4NyAyMy4yNzk0IDIzLjI3OTRDMTUuODg5MSAzMC42Njk3IDEwLjM0NjQgMzkuMTY4NiA2LjI4MTc2IDQ4Ljc3NkMyLjIxNzA5IDU4Ljc1MjkgMCA2OS4wOTkzIDAgNzkuODE1MkMwIDg2LjA5NyAwLjczOTAzIDkyLjAwOTIgMi4yMTcwOSA5Ny45MjE1QzMuNjk1MTUgMTAzLjgzNCA1LjU0MjczIDEwOS4zNzYgOC4xMjkzMyAxMTQuNTVDMTIuOTMzIDEyNC41MjcgMjAuNjkyOCAxMzQuMTM0IDI5LjU2MTIgMTQxLjUyNEMzNS40NzM0IDEzOC4xOTkgMzguNDI5NiAxMzQuODczIDM5LjE2ODYgMTMxLjE3OEMzOS45MDc2IDEyNy40ODMgMzguNDI5NiAxMjMuNzg4IDM0LjM2NDkgMTE4Ljk4NEMyNC43NTc1IDEwNy44OTggMTkuNTg0MyA5My44NTY4IDE5LjU4NDMgNzkuNDQ1N0MxOS41ODQzIDQ2LjE4OTQgNDYuNTU4OSAxOS4yMTQ4IDc5LjgxNTIgMTguODQ1M0g4MC4xODQ4SDgwLjU1NDNDMTEzLjgxMSAxOC44NDUzIDE0MC43ODUgNDUuODE5OSAxNDAuNzg1IDc5LjQ0NTdDMTQwLjc4NSA5My44NTY4IDEzNS42MTIgMTA4LjI2OCAxMjYuMDA1IDExOC45ODRDMTIxLjk0IDEyMy43ODggMTIwLjQ2MiAxMjcuNDgzIDEyMS4yMDEgMTMxLjE3OEMxMjEuNTcgMTM0Ljg3MyAxMjQuODk2IDEzOC41NjggMTMwLjQzOSAxNDEuNTI0WiIgZmlsbD0iI0VGNDI0RCI+PC9wYXRoPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cmVjdCB3aWR0aD0iMTYwIiBoZWlnaHQ9IjE1Ni4zMDUiIGZpbGw9IndoaXRlIj48L3JlY3Q+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+IA==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Ceph" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Ceph Sink" description: Upload data to an Ceph Bucket managed by a Object Storage Gateway. required: - cephUrl - accessKey - secretKey - bucketName - zoneGroup type: object properties: bucketName: title: Bucket Name description: The Ceph Bucket name. type: string accessKey: title: Access Key description: The access key. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key. type: string format: password x-descriptors: - urn:camel:group:credentials zoneGroup: title: Bucket Zone Group description: The bucket zone group. type: string autoCreateBucket: title: Autocreate Bucket description: Specifies to automatically create the bucket. type: boolean default: false cephUrl: title: Ceph Url Address description: Set the Ceph Object Storage Address Url. type: string example: "http://ceph-storage-address.com" keyName: title: Key Name description: The key name for saving an element in the bucket. type: string dependencies: - "camel:core" - "camel:aws2-s3" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelAwsS3Key simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelAwsS3Key simple: "${header[ce-file]}" - simple: "'{{?keyName}}' == ''" steps: - setHeader: name: CamelAwsS3Key simple: "${exchangeId}" - to: uri: "aws2-s3:{{bucketName}}" parameters: secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{zoneGroup}}" autoCreateBucket: "{{autoCreateBucket}}" uriEndpointOverride: "{{?cephUrl}}" overrideEndpoint: "true" keyName: "{{?keyName}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ceph-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4gPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNjAiIGhlaWdodD0iMTU3IiB2aWV3Qm94PSIwIDAgMTYwIDE1NyIgZmlsbD0ibm9uZSI+PGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwKSI+PHBhdGggZD0iTTc5LjgxNTIgOTYuMDczOUM4OC42ODM2IDk2LjA3MzkgOTUuNzA0NCA4OS4wNTMxIDk1LjcwNDQgODAuMTg0OEM5NS43MDQ0IDcxLjMxNjQgODguNjgzNiA2NC4yOTU2IDc5LjgxNTIgNjQuMjk1NkM3MC45NDY5IDY0LjI5NTYgNjMuOTI2MSA3MS4zMTY0IDYzLjkyNjEgODAuMTg0OEM2My45MjYxIDg4LjY4MzYgNzEuMzE2NCA5Ni4wNzM5IDc5LjgxNTIgOTYuMDczOVpNMTAxLjI0NyAxNTYuMzA1TDEwNS42ODEgMTU0LjgyN0MxMTAuMTE1IDE1My4zNDkgMTE0LjkxOSAxNTEuNTAxIDExOC45ODQgMTQ4LjkxNUMxMTEuNTk0IDE0NC44NSAxMDcuMTU5IDEzNy40NiAxMDcuMTU5IDEyOC45NjFDMTA3LjE1OSAxMjMuNDE4IDEwOS4zNzYgMTE4LjI0NSAxMTMuNDQxIDExMy4wNzJDMTEzLjQ0MSAxMTMuMDcyIDExMy40NDEgMTEzLjA3MiAxMTMuODExIDExMi43MDJMMTE0LjkxOSAxMTEuMjI0QzExNi4wMjggMTA5Ljc0NiAxMTcuMTM2IDEwOC42MzcgMTE4LjI0NSAxMDcuMTU5QzEyMS45NCAxMDEuOTg2IDEyNC44OTYgOTYuMDczOSAxMjYuMzc0IDg5Ljc5MjJDMTI3Ljg1MiA4Mi43NzE0IDEyOC4yMjIgNzUuNzUwNiAxMjYuNzQ0IDY4LjcyOThDMTI1LjI2NiA2Mi40NDggMTIyLjY3OSA1Ni4xNjYzIDExOC45ODQgNTAuOTkzMUMxMTUuMjg5IDQ1LjgxOTkgMTEwLjg1NSA0MS4zODU3IDEwNS4zMTIgMzguMDZDOTkuNzY5MSAzNC43MzQ0IDkzLjQ4NzMgMzIuMTQ3OCA4Ni44MzYgMzEuNDA4OEM4NC42MTg5IDMxLjAzOTMgODIuNDAxOSAzMS4wMzkzIDgwLjE4NDggMzEuMDM5M0g3OS40NDU3Qzc3LjIyODYgMzEuMDM5MyA3NS4wMTE2IDMxLjAzOTMgNzIuNzk0NSAzMS40MDg4QzY2LjE0MzIgMzIuNTE3MyA1OS44NjE0IDM0LjczNDQgNTQuMzE4NyAzOC4wNkM0OS4xNDU1IDQxLjM4NTcgNDQuMzQxOCA0NS44MTk5IDQwLjY0NjcgNTAuOTkzMUMzNi45NTE1IDU2LjE2NjMgMzMuOTk1NCA2Mi40NDggMzIuODg2OCA2OC43Mjk4QzMxLjQwODggNzUuNzUwNiAzMS40MDg4IDgyLjc3MTQgMzMuMjU2NCA4OS40MjI2QzM0LjczNDQgOTUuNzA0NCAzNy42OTA1IDEwMS42MTcgNDEuMzg1NyAxMDYuNzlMNDQuNzExMyAxMTAuODU1TDQ1LjgxOTkgMTEyLjMzM0M0OS44ODQ1IDExNy4xMzYgNTIuMTAxNiAxMjIuNjc5IDUyLjEwMTYgMTI4LjIyMkM1Mi4xMDE2IDEzNi43MjEgNDcuMjk3OSAxNDQuMTExIDQwLjI3NzEgMTQ4LjE3NkM0NC4zNDE4IDE1MC4zOTMgNDkuMTQ1NSAxNTIuNjEgNTMuNTc5NyAxNTQuMDg4TDU4LjM4MzQgMTU1LjU2NkM1OS4xMjI0IDE1NC44MjcgNjIuNDQ4IDE1Mi42MSA2NS40MDQyIDE0OC4xNzZDNjguMzYwMyAxNDQuMTExIDcxLjY4NTkgMTM3LjQ2IDcxLjY4NTkgMTI4LjIyMkM3MS42ODU5IDEyMi42NzkgNzAuNTc3NCAxMTcuNTA2IDY4LjM2MDMgMTEyLjMzM0M2Ni4xNDMyIDEwNy4xNTkgNjMuMTg3MSAxMDIuNzI1IDU5LjQ5MTkgOTguNjYwNUw1OC43NTI5IDk3LjU1MkM1Ny4yNzQ4IDk2LjA3MzkgNTUuNzk2OCA5NC4yMjYzIDU0LjY4ODIgOTIuMzc4OEM1My4yMTAyIDg5Ljc5MjIgNTIuMTAxNiA4Ny41NzUxIDUxLjczMjEgODQuNjE4OUM1MC42MjM2IDgwLjU1NDMgNTAuNjIzNiA3Ni40ODk2IDUxLjczMjEgNzIuNDI0OUM1Mi40NzExIDY4LjcyOTggNTMuOTQ5MiA2NS4wMzQ2IDU2LjE2NjMgNjIuMDc4NUM1OC4zODM0IDU5LjEyMjQgNjAuOTcgNTYuNTM1OCA2NC4yOTU2IDU0LjMxODdDNjcuNjIxMiA1Mi4xMDE2IDcxLjMxNjQgNTAuOTkzMSA3NS4wMTE1IDUwLjI1NEM3Ni40ODk2IDQ5Ljg4NDUgNzcuNTk4MiA0OS44ODQ1IDc5LjA3NjIgNDkuODg0NUg3OS44MTUyQzgxLjI5MzMgNDkuODg0NSA4Mi40MDE5IDQ5Ljg4NDUgODMuODc5OSA1MC4yNTRDODcuNTc1MSA1MC42MjM2IDkxLjI3MDIgNTIuMTAxNiA5NC41OTU4IDU0LjMxODdDOTcuOTIxNSA1Ni4xNjYzIDEwMC41MDggNTguNzUyOSAxMDIuNzI1IDYyLjA3ODVDMTA0Ljk0MiA2NS4wMzQ2IDEwNi40MiA2OC43Mjk4IDEwNy4xNTkgNzIuNDI0OUMxMDcuODk4IDc2LjQ4OTYgMTA3Ljg5OCA4MC41NTQzIDEwNy4xNTkgODQuNjE4OUMxMDYuNDIgODcuMjA1NSAxMDUuNjgxIDg5Ljc5MjIgMTA0LjIwMyA5Mi4zNzg4QzEwMy4wOTUgOTQuMjI2MyAxMDEuNjE3IDk2LjA3MzkgMTAwLjEzOSA5Ny41NTJMOTkuMzk5NSA5OC42NjA1Qzk1LjcwNDQgMTAyLjcyNSA5Mi43NDgzIDEwNy4xNTkgOTAuNTMxMiAxMTIuMzMzQzg4LjMxNDEgMTE3LjUwNiA4Ny4yMDU1IDEyMi42NzkgODcuMjA1NSAxMjguMjIyQzg3LjIwNTUgMTM3LjQ2IDkwLjUzMTIgMTQ0LjExMSA5My40ODczIDE0OC4xNzZDOTYuODEyOSAxNTMuMzQ5IDEwMC4xMzkgMTU1LjkzNSAxMDEuMjQ3IDE1Ni4zMDVaTTEzMC40MzkgMTQxLjUyNEMxMzkuMzA3IDEzNC4xMzQgMTQ3LjA2NyAxMjQuNTI3IDE1MS44NzEgMTE0LjU1QzE1NC40NTcgMTA5LjM3NiAxNTYuMzA1IDEwMy40NjQgMTU3Ljc4MyA5Ny45MjE1QzE1OS4yNjEgOTIuMDA5MiAxNjAgODUuNzI3NSAxNjAgNzkuODE1MkMxNjAgNjkuMDk5MyAxNTcuNzgzIDU4LjM4MzQgMTUzLjcxOCA0OC43NzZDMTQ5LjY1NCAzOS4xNjg2IDE0My43NDEgMzAuNjY5NyAxMzYuNzIxIDIzLjI3OTRDMTI5LjMzIDE1Ljg4OTEgMTIwLjgzMSAxMC4zNDY0IDExMS4yMjQgNi4yODE3NkMxMDEuMjQ3IDIuMjE3MDkgOTAuOTAwNyAwIDgwLjE4NDggMEg3OS44MTUyQzY5LjA5OTMgMCA1OC4zODM0IDIuMjE3MDkgNDguNzc2IDYuMjgxNzZDMzkuMTY4NiAxMC4zNDY0IDMwLjY2OTcgMTYuMjU4NyAyMy4yNzk0IDIzLjI3OTRDMTUuODg5MSAzMC42Njk3IDEwLjM0NjQgMzkuMTY4NiA2LjI4MTc2IDQ4Ljc3NkMyLjIxNzA5IDU4Ljc1MjkgMCA2OS4wOTkzIDAgNzkuODE1MkMwIDg2LjA5NyAwLjczOTAzIDkyLjAwOTIgMi4yMTcwOSA5Ny45MjE1QzMuNjk1MTUgMTAzLjgzNCA1LjU0MjczIDEwOS4zNzYgOC4xMjkzMyAxMTQuNTVDMTIuOTMzIDEyNC41MjcgMjAuNjkyOCAxMzQuMTM0IDI5LjU2MTIgMTQxLjUyNEMzNS40NzM0IDEzOC4xOTkgMzguNDI5NiAxMzQuODczIDM5LjE2ODYgMTMxLjE3OEMzOS45MDc2IDEyNy40ODMgMzguNDI5NiAxMjMuNzg4IDM0LjM2NDkgMTE4Ljk4NEMyNC43NTc1IDEwNy44OTggMTkuNTg0MyA5My44NTY4IDE5LjU4NDMgNzkuNDQ1N0MxOS41ODQzIDQ2LjE4OTQgNDYuNTU4OSAxOS4yMTQ4IDc5LjgxNTIgMTguODQ1M0g4MC4xODQ4SDgwLjU1NDNDMTEzLjgxMSAxOC44NDUzIDE0MC43ODUgNDUuODE5OSAxNDAuNzg1IDc5LjQ0NTdDMTQwLjc4NSA5My44NTY4IDEzNS42MTIgMTA4LjI2OCAxMjYuMDA1IDExOC45ODRDMTIxLjk0IDEyMy43ODggMTIwLjQ2MiAxMjcuNDgzIDEyMS4yMDEgMTMxLjE3OEMxMjEuNTcgMTM0Ljg3MyAxMjQuODk2IDEzOC41NjggMTMwLjQzOSAxNDEuNTI0WiIgZmlsbD0iI0VGNDI0RCI+PC9wYXRoPjwvZz48ZGVmcz48Y2xpcFBhdGggaWQ9ImNsaXAwIj48cmVjdCB3aWR0aD0iMTYwIiBoZWlnaHQ9IjE1Ni4zMDUiIGZpbGw9IndoaXRlIj48L3JlY3Q+PC9jbGlwUGF0aD48L2RlZnM+PC9zdmc+IA==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Ceph" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Ceph Source" description: Receive data from an Ceph Bucket, managed by a Object Storage Gateway. required: - cephUrl - accessKey - secretKey - bucketName - zoneGroup type: object properties: bucketName: title: Bucket Name description: The Ceph Bucket name. type: string deleteAfterRead: title: Auto-delete Objects description: Specifies to delete objects after consuming them. type: boolean default: true accessKey: title: Access Key description: The access key. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key. type: string format: password x-descriptors: - urn:camel:group:credentials zoneGroup: title: Bucket Zone Group description: The bucket zone group. type: string autoCreateBucket: title: Autocreate Bucket description: Specifies to automatically create the bucket. type: boolean default: false includeBody: title: Include Body description: If true, the exchange is consumed and put into the body and closed. If false, the Object stream is put raw into the body and the headers are set with the object metadata. type: boolean default: true prefix: title: Prefix description: The bucket prefix to consider while searching. type: string example: 'folder/' ignoreBody: title: Ignore Body description: If true, the Object body is ignored. Setting this to true overrides any behavior defined by the `includeBody` option. If false, the object is put in the body. type: boolean default: false cephUrl: title: Ceph Url Address description: Set the Ceph Object Storage Address Url. type: string example: "http://ceph-storage-address.com" delay: title: Delay description: The number of milliseconds before the next poll of the selected bucket. type: integer default: 500 dependencies: - "camel:aws2-s3" - "camel:kamelet" template: from: uri: "aws2-s3:{{bucketName}}" parameters: autoCreateBucket: "{{autoCreateBucket}}" secretKey: "{{?secretKey}}" accessKey: "{{?accessKey}}" region: "{{zoneGroup}}" includeBody: "{{includeBody}}" ignoreBody: "{{ignoreBody}}" deleteAfterRead: "{{deleteAfterRead}}" prefix: "{{?prefix}}" uriEndpointOverride: "{{cephUrl}}" overrideEndpoint: "true" delay: "{{delay}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: chuck-norris-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHJlY3QgeD0iMTY1LjQ3IiB5PSIyNDMuOCIgc3R5bGU9ImZpbGw6I0YwRjBGQTsiIHdpZHRoPSIxMjkuNjUiIGhlaWdodD0iNDEuMiIvPg0KPGc+DQoJPHJlY3QgeD0iNDAzLjEyIiB5PSIxOTkuNjciIHN0eWxlPSJmaWxsOiNGRkI0ODc7IiB3aWR0aD0iMzIiIGhlaWdodD0iNDIiLz4NCgk8cmVjdCB4PSIyMTAuMTIiIHk9IjIwMy45NiIgc3R5bGU9ImZpbGw6I0ZGQjQ4NzsiIHdpZHRoPSIzMiIgaGVpZ2h0PSI0MiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggc3R5bGU9ImZpbGw6I0YwRjBGQTsiIGQ9Ik0yNDIuOTU2LDE5NmwtNTcuODMzLTkwaC0yMS4xNzdjLTE5LjQzNSwwLTM2LjUyMywxMi44NjctNDEuODk0LDMxLjU0NWwtMjMuMDk1LDgwLjMxOQ0KCQlDOTMuNDY1LDIzNi45NjIsMTA3LjgsMjU2LDEyNy42NzIsMjU2aDgyLjQ1MXYtNjBoLTUyIi8+DQoJPHBhdGggc3R5bGU9ImZpbGw6I0YwRjBGQTsiIGQ9Ik0yMjYuNTA0LDE3MC4zOThMMjYwLjEyMywxMDZoMTcuMTI5YzE2LjQ4NCwwLDMxLjU1OCw5LjI5OCwzOC45NTYsMjQuMDI5bDIyLjA5NCw0My45OTcNCgkJYzMuNjg2LDcuMzQsMTEuMTk3LDExLjk3MywxOS40MTEsMTEuOTczaDQ1LjQxMXY3MC4xMjdIMjgyLjExIi8+DQo8L2c+DQo8cG9seWdvbiBzdHlsZT0iZmlsbDojQkVCRUJFOyIgcG9pbnRzPSIyMjYuNTA0LDE3MC4zOTggMTg1LjEyMywxMDYgMjU4Ljg0NSwxMDYgIi8+DQo8Zz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojRDdEN0U2OyIgZD0iTTE2NS40NzQsMjg1bC01NS42OTUsMzIuMzQ3Yy0yMy41MDEsMTMuNjQ5LTQxLjIsMzUuNDItNDkuNzY1LDYxLjIxMkwzMi4zMDYsNDYyaDkzbDM1LTc4DQoJCUwxNjUuNDc0LDI4NXoiLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojRDdEN0U2OyIgZD0iTTI5NS4xMjMsMjg1bDU1LjY5NSwzMi4zNDdjMjMuNTAxLDEzLjY0OSw0MS4yLDM1LjQyLDQ5Ljc2NSw2MS4yMTJMNDI4LjI5MSw0NjJoLTkzbC0zNS03OA0KCQlMMjk1LjEyMywyODV6Ii8+DQo8L2c+DQo8Zz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojQkVCRUJFOyIgZD0iTTIyLjg3Nyw1MDJoNzcuOTg3YzguMjg0LDAsMTUtNi43MTYsMTUtMTV2LTI1SDYyLjg3N0M0MC43ODYsNDYyLDIyLjg3Nyw0NzkuOTA5LDIyLjg3Nyw1MDINCgkJTDIyLjg3Nyw1MDJ6Ii8+DQoJPHBhdGggc3R5bGU9ImZpbGw6I0JFQkVCRTsiIGQ9Ik00MzcuNzE5LDUwMmgtNzcuOTg3Yy04LjI4NCwwLTE1LTYuNzE2LTE1LTE1di0yNWg1Mi45ODdDNDE5LjgxLDQ2Miw0MzcuNzE5LDQ3OS45MDksNDM3LjcxOSw1MDINCgkJTDQzNy43MTksNTAyeiIvPg0KPC9nPg0KPGc+DQoJPHBhdGggc3R5bGU9ImZpbGw6I0ZGQ0RBQzsiIGQ9Ik0yMjYuNTA0LDEwNkwyMjYuNTA0LDEwNmMtMjQuMzAxLDAtNDQtMTkuNjk5LTQ0LTQ0di04YzAtMjQuMzAxLDE5LjY5OS00NCw0NC00NGwwLDANCgkJYzI0LjMwMSwwLDQ0LDE5LjY5OSw0NCw0NHY4QzI3MC41MDQsODYuMzAxLDI1MC44MDUsMTA2LDIyNi41MDQsMTA2eiIvPg0KCTxwYXRoIHN0eWxlPSJmaWxsOiNGRkNEQUM7IiBkPSJNNDcwLjEyMywyNTEuODMzaC0xNmMtMTAuNDkzLDAtMTktOC41MDctMTktMTlWMjA4LjVjMC0xMC40OTMsOC41MDctMTksMTktMTloMTYNCgkJYzEwLjQ5MywwLDE5LDguNTA3LDE5LDE5djI0LjMzM0M0ODkuMTIzLDI0My4zMjcsNDgwLjYxNiwyNTEuODMzLDQ3MC4xMjMsMjUxLjgzM3oiLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojRkZDREFDOyIgZD0iTTI3Ny4xMjMsMjU2LjEyN2gtMTZjLTEwLjQ5MywwLTE5LTguNTA3LTE5LTE5di0yNC4zMzNjMC0xMC40OTMsOC41MDctMTksMTktMTloMTYNCgkJYzEwLjQ5MywwLDE5LDguNTA3LDE5LDE5djI0LjMzM0MyOTYuMTIzLDI0Ny42MiwyODcuNjE2LDI1Ni4xMjcsMjc3LjEyMywyNTYuMTI3eiIvPg0KPC9nPg0KPHBvbHlnb24gc3R5bGU9ImZpbGw6I0YwRjBGQTsiIHBvaW50cz0iMTM0LjQ3NCwzODQgMTY1LjQ3NCwyODUgMjk1LjEyMywyODUgMzI2LjEyMywzODQgIi8+DQo8cGF0aCBkPSJNMjUxLjcsMzM0Yy0yLjYzLDAtNS4yMSwxLjA3LTcuMDcsMi45M2MtMS44NiwxLjg2LTIuOTMsNC40NC0yLjkzLDcuMDdzMS4wNyw1LjIxLDIuOTMsNy4wN3M0LjQ0LDIuOTMsNy4wNywyLjkzDQoJczUuMjEtMS4wNyw3LjA3LTIuOTNzMi45My00LjQ0LDIuOTMtNy4wN3MtMS4wNi01LjIxLTIuOTMtNy4wN0MyNTYuOTEsMzM1LjA3LDI1NC4zMywzMzQsMjUxLjcsMzM0eiIvPg0KPHBhdGggZD0iTTM5Ny40MzksMzY5LjA2NmMtNS4yNDMsMS43MzYtOC4wODUsNy4zOTQtNi4zNSwxMi42MzdsMC4xNDgsMC40NDdjMS4zOTEsNC4yLDUuMjk3LDYuODU5LDkuNDkyLDYuODU5DQoJYzEuMDQyLDAsMi4xMDItMC4xNjUsMy4xNDUtMC41MWM1LjI0My0xLjczNiw4LjA4NS03LjM5NCw2LjM1LTEyLjYzN2wtMC4xNDgtMC40NDdDNDA4LjM0LDM3MC4xNzIsNDAyLjY4MiwzNjcuMzMxLDM5Ny40MzksMzY5LjA2Ng0KCXoiLz4NCjxwYXRoIGQ9Ik00NzAuMTIzLDE3OS41aC0xNmMtOC44MDYsMC0xNi43MDIsMy45NTEtMjIuMDI1LDEwLjE2N2gtMTguOTc1VjE4NmMwLTUuNTIzLTQuNDc3LTEwLTEwLTEwaC00NS40MTENCgljLTQuNDU5LDAtOC40NzMtMi40NzYtMTAuNDc1LTYuNDYxbC0yMi4wOTQtNDMuOTk3QzMxNS45OTMsMTA3LjMyLDI5Ny42NDIsOTYsMjc3LjI1MSw5NmgtOC44MzUNCgljNy41NTEtOS4yOSwxMi4wODctMjEuMTIzLDEyLjA4Ny0zNHYtOGMwLTI5Ljc3Ni0yNC4yMjQtNTQtNTQtNTRzLTU0LDI0LjIyNC01NCw1NHY4YzAsMTIuODc3LDQuNTM3LDI0LjcxLDEyLjA4OCwzNGgtMjAuNjQ2DQoJYy0yMy43NTksMC00NC45MzgsMTUuOTQ4LTUxLjUwNCwzOC43ODFMODkuMzQ2LDIxNS4xYy0zLjQ5NCwxMi4xNDktMS4xMzYsMjQuOTEsNi40NjgsMzUuMDA4DQoJYzcuNjA1LDEwLjEsMTkuMjE3LDE1Ljg5MiwzMS44NTgsMTUuODkyaDI3LjgwMXYxMy4yNDNMMTA0Ljc1NiwzMDguN2MtMjUuNjMxLDE0Ljg4Ny00NC44OTIsMzguNTc4LTU0LjIzMiw2Ni43MDhsLTI3LjcwOCw4My40NDENCgljLTEuMDEzLDMuMDQ5LTAuNDk5LDYuMzk4LDEuMzgxLDkuMDAzYzAuMzI1LDAuNDUxLDAuNjk1LDAuODU3LDEuMDgzLDEuMjQxYy03LjcxMiw4LjgwMS0xMi40MDMsMjAuMzEzLTEyLjQwMywzMi45MDcNCgljMCw1LjUyMyw0LjQ3NywxMCwxMCwxMGg3Ny45ODdjMTMuNzg1LDAsMjUtMTEuMjE1LDI1LTI1di0xNS4wNDFjMy43MTMtMC4yMDksNy4wMjktMi40NDQsOC41NjQtNS44NjVMMTY2Ljc3OSwzOTRoMTI3LjAzOA0KCWwzMi4zNSw3Mi4wOTRjMS41MzUsMy40MjEsNC44NTEsNS42NTYsOC41NjQsNS44NjVWNDg3YzAsMS43MTIsMC4xNzQsMy4zODQsMC41MDMsNWgtODMuNTMzYy01LjUyMywwLTEwLDQuNDc3LTEwLDEwDQoJczQuNDc3LDEwLDEwLDEwaDE4Ni4wMThjNS41MjMsMCwxMC00LjQ3NywxMC0xMGMwLTEyLjU5NC00LjY5LTI0LjEwNy0xMi40MDMtMzIuOTA3YzAuMzg4LTAuMzg1LDAuNzU4LTAuNzkxLDEuMDgzLTEuMjQxDQoJYzEuODgtMi42MDUsMi4zOTQtNS45NTQsMS4zODEtOS4wMDNsLTE2LjgwNS01MC42MDZjLTEuNzQtNS4yNDEtNy4zOTctOC4wOC0xMi42NDItNi4zMzljLTUuMjQyLDEuNzQtOC4wOCw3LjQtNi4zMzksMTIuNjQyDQoJTDQxNC40MzMsNDUyaC0xNi43MTRoLTUyLjk4OGgtMi45NjdsLTI2LjAyNi01OGgxMC4zODVjMy4xODIsMCw2LjE3NC0xLjUxNSw4LjA1OS00LjA3OXMyLjQzNi01Ljg3MywxLjQ4NC04LjkwOWwtMjMuMzA5LTc0LjQzOA0KCWwzMy40MzksMTkuNDIxYzEyLjc0MSw3LjQsMjMuOTE5LDE3LjcwNiwzMi4zMjgsMjkuODAyYzEuOTQzLDIuNzk1LDUuMDU2LDQuMjkzLDguMjIsNC4yOTNjMS45NjksMCwzLjk1OS0wLjU4MSw1LjY5OS0xLjc5DQoJYzQuNTM1LTMuMTUyLDUuNjU2LTkuMzg0LDIuNTA0LTEzLjkxOWMtMTAuMDY3LTE0LjQ4My0yMy40NTItMjYuODIyLTM4LjcwNi0zNS42ODJsLTUwLjcxOC0yOS40NTZ2LTEzLjExNmg5OA0KCWM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi00LjQ2aDE4Ljk3NGM1LjMyMyw2LjIxNiwxMy4yMTksMTAuMTY3LDIyLjAyNiwxMC4xNjdoMTZjMTUuOTkxLDAsMjktMTMuMDA5LDI5LTI5VjIwOC41DQoJQzQ5OS4xMjMsMTkyLjUwOSw0ODYuMTEzLDE3OS41LDQ3MC4xMjMsMTc5LjV6IE0zOTcuNzE5LDQ3MmMxMy4wMzgsMCwyNC4xNTksOC4zNTksMjguMjg3LDIwaC02Ni4yNzRjLTIuNzU3LDAtNS0yLjI0My01LTV2LTE1DQoJSDM5Ny43MTl6IE0yODYuMTIzLDIzNy4xMjdjMCw0Ljk2Mi00LjAzOCw5LTksOWgtMTZjLTQuOTYyLDAtOS00LjAzOC05LTl2LTI0LjMzM2MwLTQuOTYyLDQuMDM4LTksOS05aDE2YzQuOTYyLDAsOSw0LjAzOCw5LDkNCglWMjM3LjEyN3ogTTIyMC4xMjMsMjEzLjk2aDEydjIyaC0xMlYyMTMuOTZ6IE0xOTguMzIsMTA4LjA0YzguMjEsNS4wNDUsMTcuODYyLDcuOTYsMjguMTg1LDcuOTZjNi42NDgsMCwxMy4wMTctMS4yMTUsMTguOTA0LTMuNDIzDQoJbC0xOS44LDM3LjkyOEwxOTguMzIsMTA4LjA0eiBNMTkyLjUwNCw1NGMwLTE4Ljc0OCwxNS4yNTItMzQsMzQtMzRjMTguNzQ4LDAsMzQsMTUuMjUyLDM0LDM0djhjMCwxOC43NDgtMTUuMjUyLDM0LTM0LDM0bDAsMA0KCWMtMTguNzQ4LDAtMzQtMTUuMjUyLTM0LTM0VjU0eiBNMTExLjc5MiwyMzguMDc5Yy0zLjc5MS01LjAzNC00Ljk2Ni0xMS4zOTUtMy4yMjUtMTcuNDUxbDIzLjA5Ni04MC4zMg0KCWM0LjExNS0xNC4zMTIsMTcuMzktMjQuMzA4LDMyLjI4My0yNC4zMDhoMTUuNzE2bDUwLjA5Nyw3Ny45NmgtOS44NDZjLTAuOTQyLTQuNTQ1LTQuOTY3LTcuOTYtOS43OTEtNy45NmgtNTINCgljLTUuNTIzLDAtMTAsNC40NzctMTAsMTBzNC40NzcsMTAsMTAsMTBoNDJ2MzkuOTZWMjQ2aC03Mi40NUMxMjEuMzcxLDI0NiwxMTUuNTgzLDI0My4xMTMsMTExLjc5MiwyMzguMDc5eiBNMTA1Ljg2NSw0ODcNCgljMCwyLjc1Ny0yLjI0Myw1LTUsNUgzNC41OTFjNC4xMjctMTEuNjQxLDE1LjI0OS0yMCwyOC4yODctMjBoNDIuOTg3VjQ4N3ogTTExOC44MzIsNDUyaC0yLjk2N0g2Mi44NzdINDYuMTYzbDIzLjM0MS03MC4yOQ0KCWM3LjgwMi0yMy40OTUsMjMuODg5LTQzLjI4Miw0NS4yOTctNTUuNzE2bDMzLjQzOS0xOS40MjFsLTIzLjMwOSw3NC40MzhjLTAuOTUxLDMuMDM3LTAuNCw2LjM0NSwxLjQ4NCw4LjkwOQ0KCWMxLjg4NCwyLjU2NCw0Ljg3Niw0LjA3OSw4LjA1OSw0LjA3OWgxMC4zODRMMTE4LjgzMiw0NTJ6IE0xNDguMDg0LDM3NGw2LjI2My0yMGg1OC4xYzUuNTIzLDAsMTAtNC40NzcsMTAtMTBzLTQuNDc3LTEwLTEwLTEwDQoJaC01MS44MzhsMTIuMjEyLTM5aDExNC45NTRsMjQuNzM4LDc5SDE0OC4wODR6IE0yODUuMTIzLDI3NUgxNzUuNDc0di05aDM0LjY0OWM1LjUyMywwLDEwLTQuNDc3LDEwLTEwdi0wLjA0aDE4Ljk3NQ0KCWM1LjMyMyw2LjIxNiwxMy4yMTksMTAuMTY3LDIyLjAyNSwxMC4xNjdoMTZjMS4wNjcsMCwyLjEyLTAuMDYyLDMuMTU3LTAuMTc1YzAuNTk0LDAuMTEsMS4yMDUsMC4xNzUsMS44MzEsMC4xNzVoMy4wMTJMMjg1LjEyMywyNzUNCglMMjg1LjEyMywyNzV6IE0zOTMuMTIzLDI0Ni4xMjdoLTg4LjQzN2MwLjkyOC0yLjgzNSwxLjQzNy01Ljg1OSwxLjQzNy05di0yNC4zMzNjMC0xNS45OTEtMTMuMDA5LTI5LTI5LTI5aC0xNg0KCWMtNC40MTQsMC04LjU5OCwwLjk5NS0xMi4zNDYsMi43NjdsLTEwLjcyLTE2LjY4M0wyNjYuMTgzLDExNmgxMS4wNjljMTIuNzgxLDAsMjQuMjgzLDcuMDk1LDMwLjAxOSwxOC41MTdsMjIuMDk0LDQzLjk5Nw0KCUMzMzQuNzgsMTg5LjMsMzQ1LjY0MywxOTYsMzU3LjcxMiwxOTZoMzUuNDExdjMuNjY3djQyTDM5My4xMjMsMjQ2LjEyN0wzOTMuMTIzLDI0Ni4xMjd6IE00MTMuMTIzLDIwOS42NjdoMTJ2MjJoLTEyVjIwOS42Njd6DQoJIE00NzkuMTIzLDIzMi44MzNjMCw0Ljk2Mi00LjAzOCw5LTksOWgtMTZjLTQuOTYyLDAtOS00LjAzOC05LTlWMjA4LjVjMC00Ljk2Miw0LjAzOC05LDktOWgxNmM0Ljk2MiwwLDksNC4wMzgsOSw5VjIzMi44MzN6Ii8+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg== camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Chuck Norris" camel.apache.org/kamelet.namespace: "Dataset" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Chuck Norris Source" description: Gets periodically Chuck Norris jokes type: object properties: period: title: Period description: The interval (msec) to wait before getting the next joke type: integer default: 10000 types: out: mediaType: text/plain dependencies: - "camel:kamelet" - "camel:timer" - "camel:http" - "camel:jsonpath" template: from: uri: "timer:chuck" parameters: period: "{{period}}" steps: - to: "https://api.chucknorris.io/jokes/random" - removeHeaders: pattern: '*' - setBody: jsonpath: "$.value" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: chunk-template-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Chunk Template Action" description: Apply a Chunk Template. required: - template type: object properties: template: title: Template description: The inline template type: binary dependencies: - "camel:chunk" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "chunk:" parameters: resourceUri: "base64:{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: couchbase-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNjguMzQzIDY4LjM0MyIgZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCI+PHVzZSB4bGluazpocmVmPSIjQSIgeD0iMi4xNzEiIHk9IjIuMTcxIi8+PHN5bWJvbCBpZD0iQSIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0zMi4wMDIgMEMxNC4zMzEuMDAyLjAwNSAxNC4zMjYgMCAzMS45OThjLjAwNSAxNy42NyAxNC4zMjggMzEuOTkzIDMxLjk5OCAzMS45OTggMTcuNjctLjAwNSAzMS45OTMtMTQuMzI4IDMxLjk5OC0zMS45OThDNjMuOTkxIDE0LjMzIDQ5LjY3LjAwNyAzMi4wMDIgMHptMjEuNjA2IDM3LjYwOWMwIDEuOTMzLTEuMTEyIDMuNjI2LTMuMjg4IDQuMDEzLTMuNzcuNjc4LTExLjcgMS4wNjQtMTguMzE4IDEuMDY0cy0xNC41NDgtLjQzNC0xOC4zMTgtMS4wNjRjLTEuOTY0LS4yOTQtMy4zODUtMi4wMjktMy4yODgtNC4wMTNWMjUuMTM2YzAtMS45MzMgMS40OTgtMy43MjIgMy4yODgtNC4wMTMgMS4xMTItLjE5NSAzLjcyMi0uNDM0IDUuNzU0LS40MzQuNzczIDAgMS40MDMuNTgyIDEuNDAzIDEuNDk4djguNzUxbDExLjIxMy0uMjQzIDExLjIxMy4yNDN2LTguNzAzYzAtLjg2OS42My0xLjQ5OCAxLjQwMy0xLjQ5OCAyLjAyOCAwIDQuNjQ3LjE5NiA1Ljc1NC40MzQgMS44MzcuMjkxIDMuMjg4IDIuMDg1IDMuMjg4IDQuMDEzbC0uMDk2IDEyLjQ3M3oiIHN0cm9rZT0ibm9uZSIgZmlsbD0iI2VkMjIyNiIgZmlsbC1ydWxlPSJub256ZXJvIi8+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Couchbase" camel.apache.org/kamelet.namespace: "Nosql" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Couchbase Sink" description: Send documents to Couchbase. required: - protocol - couchbaseHostname - bucket type: object properties: protocol: title: Protocol description: The protocol to use type: string couchbaseHostname: title: Hostname description: The hostname to use type: string couchbasePort: title: Port description: The port to use type: integer default: 8091 bucket: title: Bucket description: The bucket to use type: string username: title: Username description: Username to connect to Couchbase. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to connect to Couchbase. type: string format: password x-descriptors: - urn:camel:group:credentials startingId: title: Starting Id description: The starting id type: integer default: 1 autoStartId: title: Auto Start Id description: Auto Start Id or not type: boolean default: true dependencies: - "camel:couchbase" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "couchbase:{{protocol}}://{{couchbaseHostname}}:{{couchbasePort}}" parameters: bucket: "{{bucket}}" autoStartIdForInserts: "{{autoStartId}}" startingIdForInsertsFrom: "{{startingId}}" username: "{{username}}" password: "{{password}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: counter-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNTExLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSI+PHBhdGggZD0iTTM4ODguMSw0Nzc0Ljl2LTIzNS4xaDQxMS40aDQxNC4zbC04LjgtMzI5LjFsLTguOC0zMzJsLTExNy41LTguOGMtMjI5LjItMTQuNy02MjAtOTkuOS05MjUuNi0xOTYuOUMyMjU3LjQsMzIyMC42LDExNjcuMiwyMDY1LjgsODAyLjksNjQ5LjZjLTUxMS4zLTE5ODYuMywzODQuOS00MDAyLDIyMDYuNy00OTY1LjhjMzAyLjYtMTYxLjYsNzU4LjEtMzIwLjIsMTE1NC44LTQwNS41YzQyNi4xLTkxLjEsMTI1MS43LTkxLjEsMTY4MC43LDBjMTc2OC45LDM4MiwzMDQ0LjEsMTY1Ny4yLDM0MjYuMSwzNDI2LjFjOTEuMSw0MjYuMSw5MS4xLDEyNTQuNiwwLDE2NzcuOGMtNDIwLjIsMTk0Mi4yLTE5MzYuNCwzMzAyLjYtMzg5MC4zLDM0OTYuNmwtMTk5LjgsMjAuNnYzMjAuM3YzMjAuM2g0MTEuNGg0MTEuNHYyMzUuMVY1MDEwSDQ5NDUuOUgzODg4LjFWNDc3NC45eiBNNTc1My45LDMzNDkuOWM3NzguNy0xNjEuNiwxNDE5LjItNTA4LjMsMTk4My40LTEwNzIuNWM1NjQuMi01NjEuMiw4ODcuNC0xMTU3LjcsMTA2MC43LTE5NDIuMmM5OS45LTQzNy44LDk5LjktMTE0MywzLTE1ODAuOEM4NTYzLTIzMDYuNCw3OTY2LjUtMzE1OC41LDcwNDMuOS0zNzUyYy0zMzUtMjE0LjUtNzg3LjUtMzk2LjctMTI0OC44LTQ5OS41Yy00MzcuOC05Ny0xMTQzLTk3LTE1ODAuOCwyLjljLTc4NC41LDE3My4zLTEzODEsNDk2LjYtMTk0Mi4yLDEwNjAuN2MtNTcwLDU2Ny4xLTkwNy45LDExOTguOC0xMDc4LjQsMTk5OC4xYy03My41LDM0Ni43LTczLjUsMTEyMi40LDAsMTQ2OS4yYzE3MC40LDc5OS4yLDUwOC4zLDE0MzEsMTA3OC40LDE5OThDMjg5NSwyOTAwLjMsMzYzOC40LDMyNzMuNSw0NDkzLjQsMzM5MUM0Nzc4LjQsMzQzMi4xLDU0NzQuOCwzNDA4LjYsNTc1My45LDMzNDkuOXoiLz48cGF0aCBkPSJNNDcxMC44LDEzNzUuM1YyMDUuOUw0NTUyLjIsNjcuOGMtMzE3LjMtMjc5LjEtMzQwLjgtNjc4LjctNTUuOC05OTMuMWMyODcuOS0zMjAuMyw2OTMuNC0zMTcuMywxMDEzLjcsNS45bDE3MC40LDE3MC40aDEwNDMuMWgxMDQzLjFWLTUxNFYtMjc5SDY3MjkuNUg1NjkyLjJsLTQ5LjksMTE0LjZjLTU4LjgsMTMyLjItMjUyLjcsMzE3LjMtMzc2LjEsMzYxLjRsLTg1LjIsMjkuNHYxMTU3Ljd2MTE1Ny43aC0yMzUuMWgtMjM1LjFWMTM3NS4zeiBNNTE2Ni4zLTI5My42YzE0Ni45LTE0NCw0NC4xLTM5Ni43LTE2MS42LTM5Ni43Yy01NS44LDAtMTE3LjUsMjYuNC0xNjEuNiw3My40Yy00Nyw0NC4xLTczLjUsMTA1LjgtNzMuNSwxNjEuNnMyNi40LDExNy41LDczLjUsMTYxLjZjNDQuMSw0NywxMDUuOCw3My41LDE2MS42LDczLjVDNTA2MC41LTIyMC4yLDUxMjIuMi0yNDYuNyw1MTY2LjMtMjkzLjZ6Ii8+PC9nPjwvZz4NCjwvc3ZnPg== camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Timer" camel.apache.org/kamelet.namespace: "Scheduling" labels: camel.apache.org/kamelet.type: "source" camel.apache.org/kamelet.verified: "true" spec: definition: title: "Counter Source" description: Generates sequential number events starting from a configurable value, incrementing by a specified step. Useful for testing, scheduled tasks, or creating ordered event sequences. type: object properties: period: title: Period description: The time interval between two numbers type: integer default: 1000 start: title: Starting Number description: The starting number type: integer default: 1 numbers: title: Numbers description: How many numbers to generate type: integer dependencies: - "camel:timer" - "camel:core" - "camel:bean" - "camel:kamelet" template: beans: - name: counter type: java.util.concurrent.atomic.AtomicInteger constructors: "0": "{{start}}" from: uri: timer:counter parameters: period: "{{period}}" repeatCount: "{{?numbers}}" steps: - bean: ref: "{{counter}}" method: getAndIncrement - setHeader: name: "Content-Type" constant: "text/plain" - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: cron-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAwIiBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9IjAgMCAxOTIuNzU2IDE5Mi43NTYiPjxnIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIj48cGF0aCBmaWxsPSIjZmZmIiBkPSJNMCAwaDE5Mi43NTZ2MTkyLjc1NkgwVjB6Ii8+PHBhdGggZD0iTTQyLjE2IDEwMy4wNzJsNS45MDEgMS40OTZjLTEuMjQyIDQuODY1LTMuNDc2IDguNTc0LTYuNzAxIDExLjEyOXMtNy4xNjcgMy44MzItMTEuODI2IDMuODMyYy00LjgyMyAwLTguNzQ2LS45ODItMTEuNzY3LTIuOTQ3LTMuMDIxLTEuOTY1LTUuMzIyLTQuODExLTYuODk4LTguNTM3LTEuNTc2LTMuNzI1LTIuMzY1LTcuNzI3LTIuMzY1LTEyLjAwMiAwLTQuNjYzLjg5LTguNzMgMi42NjktMTIuMjAyIDEuNzc5LTMuNDcyIDQuMzEyLTYuMTA4IDcuNTk3LTcuOTEgMy4yODUtMS44MDIgNi45LTIuNzA0IDEwLjg0Ny0yLjcwNCA0LjQ3NCAwIDguMjM2IDEuMTQgMTEuMjg4IDMuNDE4IDMuMDUxIDIuMjggNS4xNzcgNS40ODUgNi4zNzcgOS42MTZsLTUuODM2IDEuMzc2Yy0xLjAzOC0zLjI1OS0yLjU0My01LjYzMy00LjUxNi03LjEyMS0xLjk3My0xLjQ4Ny00LjQ1NS0yLjIzMS03LjQ0My0yLjIzMS0zLjQzNyAwLTYuMzEuODI2LTguNjE5IDIuNDc3LTIuMzA4IDEuNjUtMy45MyAzLjg2Ni00Ljg2NSA2LjY0N2EyNi43NiAyNi43NiAwIDAgMC0xLjQwMyA4LjYwM2MwIDMuODExLjU1NCA3LjEzNyAxLjY2NSA5Ljk3OXMyLjgzNyA0Ljk2NyA1LjE4IDYuMzcxYTE0LjUyIDE0LjUyIDAgMCAwIDcuNjA3IDIuMTA5YzMuMzIgMCA2LjEzMS0uOTU3IDguNDMzLTIuODczIDIuMzAyLTEuOTE0IDMuODYtNC43NTYgNC42NzUtOC41MjZ6TTYxLjM0NSA3OC45MzRoMTQuMTUyYzMuMzE1IDAgNS43NDIuNjg0IDcuMjc4IDIuMDUyIDEuNTM2IDEuMzY4IDIuMzA0IDMuMTEyIDIuMzA0IDUuMjM1IDAgMS40NS0uMzk3IDIuNzkzLTEuMTkgNC4wMjctLjc5NCAxLjIzNS0xLjk1NCAyLjEzMy0zLjQ3OSAyLjY5NC0xLjUyNi41NjItMy42NDIuODQyLTYuMzQ1Ljg0MmgtMTIuNzJ2LTE0Ljg1em0wIDM5LjgxNlY5OC45MDZoNi44NjNjMS41MjQgMCAyLjYyMy4wNzIgMy4yOTMuMjExLjkxNi4yMjEgMS44MTUuNjEzIDIuNyAxLjE3Ni44ODQuNTYyIDEuODg2IDEuNTU1IDMuMDA0IDIuOTggMS4xMTkgMS40MjQgMi41NDIgMy40OCA0LjI3MSA2LjE2Nmw1LjkxNyA5LjMxMWg3LjRsLTcuNzQzLTEyLjE4Yy0xLjUzOC0yLjM4My0zLjE3Mi00LjM2OS00LjkwMS01Ljk1NS0uODEzLS43My0yLjAwMy0xLjQ3NS0zLjU2OS0yLjIyNyA0LjI5LS41OSA3LjQ2MS0xLjk3MyA5LjUxNS00LjE1MSAyLjA1NC0yLjE3NiAzLjA4Mi00Ljg1MiAzLjA4Mi04LjAyNSAwLTIuNDYxLS42Mi00LjcxLTEuODYtNi43NDQtMS4yNC0yLjAzNS0yLjg5OC0zLjQ1My00Ljk3Mi00LjI1Ny0yLjA3NC0uODA0LTUuMTA0LTEuMjA2LTkuMDg4LTEuMjA2aC0xOS44MXY0NC43NDVoNS44OTh6TTEwOS4zMTggODIuNjY3YzMuMDIzLTIuODc3IDYuNjM1LTQuMzE3IDEwLjgyOC00LjMxNyAyLjk1MyAwIDUuNjE1Ljc0OCA3Ljk4OCAyLjI0MiAyLjM3MyAxLjQ5NiA0LjE3NiAzLjYgNS40MDYgNi4zMTYgMS4yMzIgMi43MTUgMS44NSA1Ljg5MyAxLjg1IDkuNTMzIDAgNS43NTYtMS40NDEgMTAuMTk5LTQuMzIyIDEzLjMzMi0yLjg4MyAzLjEzMS02LjU1MyA0LjY5Ny0xMS4wMTIgNC42OTctNC4zODEgMC04LjAyLTEuNTUxLTEwLjkyMi00LjY1Mi0yLjktMy4xLTQuMzUyLTcuMzQ2LTQuMzUyLTEyLjczNi4wMDEtNi43MzIgMS41MTMtMTEuNTM3IDQuNTM2LTE0LjQxNXptLTguMDY4IDI1LjQ3OGMxLjcxMSAzLjUyIDQuMjI1IDYuMjk3IDcuNTQxIDguMzMyczcuMDgyIDMuMDUzIDExLjI5NSAzLjA1M2MzLjg4NyAwIDcuNTEtLjkyMiAxMC44NjctMi43NjQgMy4zNTctMS44NCA1Ljk1My00LjU1MSA3Ljc4NS04LjEzMyAxLjgzMi0zLjU4IDIuNzQ4LTcuNjQxIDIuNzQ4LTEyLjE3OCAwLTQuNDc3LS44NzEtOC40OC0yLjYxMS0xMi4wMXMtNC4yNjgtNi4yODMtNy41ODYtOC4yNTZjLTMuMzE2LTEuOTc0LTcuMDQxLTIuOTYxLTExLjE3Mi0yLjk2MS02LjMxMSAwLTExLjQ1OSAyLjEwMi0xNS40NDcgNi4zMDMtMy45ODggNC4yMDItNS45ODIgMTAuMDE2LTUuOTgyIDE3LjQ0NCAwIDMuOTI1Ljg1MyA3LjY1IDIuNTYyIDExLjE3ek0xNDguOTc1IDExOC43NVY3NC4wMDVoNi4xMDNsMjMuNDY3IDM1LjEydi0zNS4xMmg1LjcwN3Y0NC43NDVoLTYuMTA0bC0yMy40NjYtMzUuMTE5djM1LjExOWgtNS43MDd6IiBmaWxsPSIjY2MyMjI5Ii8+PC9nPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Cron" camel.apache.org/kamelet.namespace: "Scheduling" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Cron Source" description: Send events at specific time. required: - schedule - message type: object properties: schedule: title: Cron Schedule description: A cron expression that is used to trigger events generation. type: string example: "0/3 10 * * * ?" message: title: Message description: The message to generate type: string example: hello world types: out: mediaType: text/plain dependencies: - "camel:quartz" - "camel:core" - "camel:cron" - "camel:kamelet" template: from: uri: "cron:tick" parameters: schedule: "{{schedule}}" steps: - setBody: constant: "{{message}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: data-type-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Data Type Action" description: Applies a given data type with respective data transformation. required: - format type: object properties: scheme: title: Component Scheme description: The data type component scheme enables users to apply Camel component specific data type conversions. type: string format: title: Data Type Format description: Defines the data type that is applied by this action. Apache Camel and the Kamelet catalog support different data types and performs automatic message conversion according to the given type. type: string dependencies: - "camel:kamelet" - "camel:core" template: beans: - name: dataTypeProcessor type: "#class:org.apache.camel.processor.transformer.DataTypeProcessor" from: uri: "kamelet:source" steps: - choice: when: - simple: "'{{?scheme}}' != ''" steps: - setProperty: name: CamelDataType simple: "{{?scheme}}:{{format}}" otherwise: steps: - setProperty: name: CamelDataType simple: "{{format}}" - bean: ref: "{{dataTypeProcessor}}" method: process --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: delay-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyLjg4IDEwMC42IiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAxMjIuODggMTAwLjYiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+LnN0MHtmaWxsOiMyNzI3Mjc7fSAuc3Qxe2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0Q4NDUzRTt9PC9zdHlsZT48Zz48cGF0aCBjbGFzcz0ic3QwIiBkPSJNNzIuNTgsMGM2LjgsMCwxMy4zLDEuMzYsMTkuMjMsMy44MWM2LjE2LDIuNTUsMTEuNyw2LjI5LDE2LjMzLDEwLjkybDAsMGM0LjYzLDQuNjMsOC4zNywxMC4xNywxMC45MiwxNi4zNCBjMi40Niw1LjkzLDMuODEsMTIuNDMsMy44MSwxOS4yM2MwLDYuOC0xLjM2LDEzLjMtMy44MSwxOS4yM2MtMi41NSw2LjE2LTYuMjksMTEuNy0xMC45MiwxNi4zM2wwLDAgYy00LjYzLDQuNjMtMTAuMTcsOC4zNy0xNi4zNCwxMC45MmMtNS45MywyLjQ2LTEyLjQzLDMuODEtMTkuMjMsMy44MWMtNi44LDAtMTMuMy0xLjM2LTE5LjIzLTMuODEgYy02LjE1LTIuNTUtMTEuNjktNi4yOC0xNi4zMy0xMC45MmwtMC4wMS0wLjAxYy00LjY0LTQuNjQtOC4zNy0xMC4xNy0xMC45Mi0xNi4zM2MtMC43OS0xLjkxLTEuNDctMy44Ny0yLjAyLTUuODkgYzEuMDUsMC4xLDIuMTIsMC4xNSwzLjIsMC4xNWMyLjA1LDAsNC4wNS0wLjE5LDYtMC41NGMwLjMyLDAuOTcsMC42NywxLjkzLDEuMDYsMi44N2MyLjA5LDUuMDUsNS4xNyw5LjYsOC45OSwxMy40MyBjMy44MiwzLjgyLDguMzgsNi45LDEzLjQzLDguOTljNC44NywyLjAyLDEwLjIxLDMuMTMsMTUuODMsMy4xM2M1LjYyLDAsMTAuOTYtMS4xMSwxNS44My0zLjEzYzUuMDUtMi4wOSw5LjYtNS4xNywxMy40My04Ljk5IGMzLjgyLTMuODIsNi45LTguMzgsOC45OS0xMy40M2MyLjAyLTQuODcsMy4xMy0xMC4yMSwzLjEzLTE1LjgzYzAtNS42Mi0xLjExLTEwLjk2LTMuMTMtMTUuODNjLTIuMDktNS4wNS01LjE3LTkuNi04Ljk5LTEzLjQzIGMtMy44Mi0zLjgyLTguMzgtNi45LTEzLjQzLTguOTljLTQuODctMi4wMi0xMC4yMS0zLjEzLTE1LjgzLTMuMTNjLTUuNjIsMC0xMC45NiwxLjExLTE1LjgzLDMuMTNjLTAuNDQsMC4xOC0wLjg3LDAuMzctMS4zLDAuNTYgYy0xLjY1LTIuNjEtMy42Ni00Ljk3LTUuOTUtNy4wMmMxLjI1LTAuNjUsMi41My0xLjI0LDMuODQtMS43OUM1OS4yOCwxLjM2LDY1Ljc4LDAsNzIuNTgsMEw3Mi41OCwweiBNNjYuOCwyNi4zOSBjMC0xLjIzLDAuNS0yLjM1LDEuMzEtMy4xNmMwLjgxLTAuODEsMS45My0xLjMxLDMuMTYtMS4zMWMxLjIzLDAsMi4zNSwwLjUsMy4xNiwxLjMxYzAuODEsMC44MSwxLjMxLDEuOTMsMS4zMSwzLjE2djIzLjQ3IGwxNy41NCwxMC40YzEuMDUsMC42MiwxLjc2LDEuNjIsMi4wNSwyLjczYzAuMjgsMS4xLDAuMTUsMi4zMS0wLjQ3LDMuMzdsMCwwLjAxbDAsMGMtMC42MiwxLjA1LTEuNjIsMS43Ni0yLjczLDIuMDUgYy0xLjEsMC4yOC0yLjMxLDAuMTUtMy4zNy0wLjQ3bC0wLjAxLDBsMCwwTDY5LjEsNTYuMjljLTAuNjctMC4zOC0xLjI0LTAuOTItMS42NC0xLjU3Yy0wLjQyLTAuNjgtMC42Ni0xLjQ4LTAuNjYtMi4zMlYyNi4zOSBMNjYuOCwyNi4zOXoiLz48cGF0aCBjbGFzcz0ic3QxIiBkPSJNMjcuMjcsMy4xOGMxNS4wNiwwLDI3LjI3LDEyLjIxLDI3LjI3LDI3LjI3YzAsMTUuMDYtMTIuMjEsMjcuMjctMjcuMjcsMjcuMjdDMTIuMjEsNTcuNzMsMCw0NS41MiwwLDMwLjQ1IEMwLDE1LjM5LDEyLjIxLDMuMTgsMjcuMjcsMy4xOEwyNy4yNywzLjE4eiBNMjQuMzUsNDEuMzRoNS44MnY1LjE2aC01LjgyVjQxLjM0TDI0LjM1LDQxLjM0TDI0LjM1LDQxLjM0eiBNMzAuMTcsMzcuNzdoLTUuODIgYy0wLjU4LTcuMDctMS44LTExLjU2LTEuOC0xOC42M2MwLTIuNjEsMi4xMi00LjcyLDQuNzItNC43MmMyLjYxLDAsNC43MiwyLjEyLDQuNzIsNC43MkMzMiwyNi4yLDMwLjc2LDMwLjcsMzAuMTcsMzcuNzcgTDMwLjE3LDM3Ljc3TDMwLjE3LDM3Ljc3TDMwLjE3LDM3Ljc3eiIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Delay" camel.apache.org/kamelet.namespace: "EIP" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Delay Action" description: Delay the processing using a specific amount of time required: - milliseconds type: object properties: milliseconds: title: Milliseconds description: The number of milliseconds of delay type: integer example: 1000 dependencies: - "camel:core" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - delay: constant: "{{milliseconds}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: djl-image-to-text-action annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAAArCAYAAACO7C3tAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAXEgAAFxIBZ5/SUgAAD7ZJREFUeAHtW1tsXMUZnplz21178SWxg01uTRNKbJVLmjSlhcaBVGoLkVpVG7WhaqW2UiSqICoR+oKUzSMvNHJUJCIUtS8Exby0RYmggjioIkBxY9LGkARMTGATx/Flbe/l3Gb6/WcvWdtxvL7EBsxIZ8/ZOXP9v/82M//hrLzE88UK9/JqMabijPEzsRhva2tTqFS4yq0/63LxuBLjG4nHuRyfd53/PI6x4xqfyqk7vk7Z/8si8JEjR7TBwUFx6dKlssoXeu/v7+dL7r9fsa4u1tDQoA4fPqxa2ttlfL6AUSBo1xmjiTXlhkS3LsbqrrTLrVu3eoVxXu9Oc+7q6tLGv4vH4y7yiLFuSpqKwBwDE52dnUu9TGYFFyIkpeRM16ccDEpI4SN5nssNIyVCoRHXdYfXr1/v9vT0SEyMCHITuU3xo4qZl06l7jCkFnWEJ3Qz5GuKGRk/k8gmoj2P/Zjb15uIUoo/9dRTy71sdlXpfIWUyvb9/+3fvz+JejcFlEkBoUEhsdbWVvPChQs/sBj7OROiAQMRpANuREnUUz5monPuSqVG0cmQx/kl5XkXGOefIv/C2mXLLj175Ei2o6ODgJnTyeXHrl44rpbadf4+k6k7pFDC97gfCatwNuP/40rP4POjHQ0D49UXGEXgkn984omdIcN4JGvbYU3TmAA9MCff07QnKyoqTqOMP9fjRntsUlbft28fgQUaesJgrEEIsQlQrEKeoBeBLKvr05EAEZgE3ioBUFHe0wGQ1LQU/n+MiXV2JxIntmzZcmr79u2fYnIZ6gvXnKR90P1oSF22+q0lftUGboq7BeMa41JZFTp3Xfb+yjUNeldH+wTeOnPmDNVlzHVX6pHIRs33qzkxJ+aDpDSlqlEmAA3jnrMxU+OUJhi8XPa134sXLzJwnOeBO5CU5/scIGFSrsCzAHHZ+IvKoCwkXGqe6xqu40TwXIGGlgGsjbqu/8o3zb0mY793Rka+h4kticViE/T1tVHM7KmuOiw9x1VOxtHdjCNcx5N2Wuo+JpNCk2eaWiYQtLm5OcjzBQQKyBEfuWBKB/PwlPKZd0PTM7OBltSaEpBiWSgqUgWKCO1DFQvhMU27CklIQHLGXOCny8jrxcyGAEAG3EW62oe6gknxhOc4BM7tmq7/Bvc9meHhH65bt25pS0vLpBJbHMe0HiIojVGA5zH24lw59BdjKRZjbZO2pkHKCy+VlDT5QOygKYr5hfdzeS+LAMS6NIpgJBgo13VSW70A5lVkd2OwY9gGYBFwpuS8CmJSL3S9UWnaCoh+PRyDCqDCwXpkZyKaYXwf9ukW37a1TZs2vYL2rra3t49pD3mzSDkNhAZAYRX8UQKOSZBiU7ebt6VgpqnLzkGJsgAp9pMblNLAJSDuZXD7y9Cx/0oqNcZbqUeFfk0TeK8tcd3qTFXVipDrNvmadi8mtlkX4jZfqQguUoaa0vUNAHGXpetJSEk7qo/OLSj5GQQ0nSFhc7ZwhpXz/Zdxmx4gOWMJFws+Fg1Q112rttZ9NmeUJzpeEPPYjh3D24T4tIOxd6PR6Bswlj+yLOsnMDL3QIeEoA647zhCN4xvQWfvtD3vE4DShYtc44ltljGpL3KR6QIyZq7QpwHHgHicrtKXe/fuZVidcxaLYV3YpQ7G4/aRWOzsqfr6Xqys+uBKPo7634DNDEFOGJwAeMN8Gzy6k6lUKpFMJvvRXlFTlrb9ZX6eFSAgJg+n0wrqRdJVSihwd+nfglHlOzhP/unxx//eC7WFzN8BhOVox4A9kZCSauW6212l3oGvn4TnJQEq+fuLJhU9j5nMmDyOTCQyRjImaweEJ8Dk8ePH2R/27x/WQ6GX4ImdRH4KXhisPF7CXYbndjek564VjIXhgpI/UVb7k/X7RcufFSDTnSyIr06cOCHB+fzs2bPknb0GByGBxWLOgfN9iYdqE2uVz4S4Fe3P6/imO5+bUX7eJ0yGetu2bQKqSDLDeBu242OIQODmwk2WAIi2KZph9OuxOalQ/isJuRnIl7ZZU1MT2Jva2toeLJrPk9oKFlzw3AAQ7ZOtgPQ0hlMpLOYDKVk0oMy7hBAwZKxxiT179qRhL7rhQhd3T8njwkq/Bivl5SoUqsgDQtUWRVoQQMiWkMEmdQSb0YNBDEEiaH+D0x1PIVPXG7DfVLkoUCiZ5IIAUtI/wy5wP7ZSbIAQJKgrsiMK95qqcJhU1qJKCw5IxnUz2JZ3SDJgKCA82CsjCDiPYFfYSCQStMGyaEBZWECweKyornawERkY+TzZgQxpLhXKYvseR8eLxqAT1y04IB5W+jQQkgy6B4kkAqBQ2lZTcy0/yPly/ywsIKAtgMBePW0e5zRVkIUfoKCwk6wufSUh88uBUEsGHZCSRJBMBMDQM7b0AYp8e3SU7MqiUVsLKiFwe3FupVVihxObvEGiM3iFwAjIjRhFYIS7efNmUlmLRm3Narc3T8RZ3bBNUo0NxRDHGQuAIMmg6CGF/CT+Z/MRVbPog7AcJ2CfY3gXChCiEHlWRJpGaKQKkgzIBf2nQxYHAQV9DbqeRlzbLFMOjM8xBmPmtyAqi7ZNoK58xHxZOP/4GqCownEIRQ8Ak8CWDEE6Ln6YTFJ4UOASjxn1LP9AH35u8VkQQGi3l2iKEKPliFq5HSrqFpyvEytz2u0FQBfDodBnWIMUAJlTAn4FSAlHkxdFu720jwUgNiIUaA3EQs8pFqYF4YBKve+77mWcGpIkzRgM3jsQ4JuzIblmqH8lPJmmwKwbhAGVDHleH+dbQojuYseOHTKdTjdiH2sbVNVyEAkmJNgywYmITCJ44t+jjtO3evXqGamrpjay4oqnohUWpMGkQIoCVQE+Q/xRVrgVaLuMMKBCxXm6zxcgRJAgcBuE95955pmQJuVDhmF8BwuPChAMEZqKQ1rIynfajvOeNTSURh06uJq2hNTVARDUMg1ZZ4YME24CiB+sbeBT45RYaAMGzx2KTYfOaLI4FgRxFJ+n08ZUZWcHCOJdM5kMb7l2iBQQHp0GdyIyDHhAbDwzSIYPFVTZm0g8gPP0RwDEahhvWhgqrDs07GkNI7DuKNj6/Lr77nPGqytqD3nwiAsr++LqPj/PXP6J+i4YIrTpqGam8Wh+kuhGaI7jI7xUJngtc7ti1wg8FaHoPSYFGL2gOXzOEJz3F8YynXuuqev3ODu3F6d7iKPie+Nx1pKPvy50gygUhoDtIGoEx7XayZMnrfiTT9bYQ0MPIrpkJ1TV3YgBjtAKHYreh3F3oa5e8S2rPRQKJXft2jUhupzUWhxgoGmNOjwOHu1rA9L5hIgjhvgvgfgjr/Wt/luYLr7vu4qOJxH5rXyhazrz5FVDD30UPs1s9mKhZnl3dKSUZXmwgQqfaeDEmdMcifmmm4pjHl9xxoBgFEHgsWma/glQqKmurthJV3MzxWkxRInru3fv5u+8/npVKBpdn3bdhwzTfBCSsBaA0GkgmFa4CCcV0vPOg8tevHLlygeHDh3K4t0Y+0EcSECc62B834l2dXxrC0JUSjYk8zNDOfl0017jYS29FSpwE6InQ5ADIQV3Q5ame7b7wbA/nNgVu4U+vGHgpSkTMQIKwfmDIEPE8GxA2kn6aY5T1i8tMIqtoOeee06C4YL+S9/R8/QAwYioEg0MrdVKw7iLO46V2rDBOQX1FSh8vGPJpDAZs9asWlUDtXQbghluB4DrDMT3AohKXCYagtHQPNgRisC+gDORVhDvje7u7oKrS11RIg6EuuHqr53ON02Zvee3P70v8fzPnJ5D7sjV27TKtHkn8/tOnuSDqXvNFzrt+oe/7j/ADGun9OVqgG+gBQn9Am1IYdb8n57DB9rayLngRNwpE80XaIB7sJejabHacHhTTTQKbTteZd64KVT3oW+tj86d643v3v23+IEDw6SCcRWZryxAaNSB4qT+aGsDgdIISliJUMNH8TVVltQOpaAxPHPTpAMN+q5EB9EtxFtFyFYACGI1KPfAo8LxEyL8Pe8MBtoa9v2jiZGRJFTdWCKBEFQHCc6Rc0d1XeTX2ZSsNTNyGF+uXEnI7BA/xTIqdA83w9moLfkqGPKV0ldLPelZcN8gyswNhXRLum4n8/jLL307mny0JxjylD8BB6IUiI+BKIQf67/EuHNzzvHnlG0UCoAOyopEtHQm8/GwYbQjfxgHcGSLpgcINUgDg3qhmM/gGQQOgWto26MwZioWJKgfIiEcmoDwPhVAefzDJwFkWXXdQzuDINAr3Lb/ktb1t6+m06mDBw/e0KviLr47yYhqz/PXIgRfC0EoEfntYf8+NyHJNNdTludiX8wn44slOVeOaRkGaNGPTeVWp1I7/wuoPUgH9VVWAruRugqkFEwVdZSqRHwzMRZxSnH+VIQapLxc8WvvYB8hHsJX0CgAphf0ICBYY2NjsT79n1JCVqDQZQgIeqJzCx2DoDUD1SW2Cbg39yf/S1yTf089obyG0hJBC9ieUi4mNAQw/iOFaMMu4luZ3t6L343FHFqbUPExbY37I8PYgxSeDkpLxSX3AADEhtoPUtAfQu0AAngnRykzbDHf9Xp923/askaOdr467Bx4bN119Tc1UviCCotWeMeIfYFDAHWQ87DwDyq4sDNdmH+u85LfwiQKd3pFz1gJQ2FoHLvYOsUNlFQpPk4JyHBVlfJpTeB5A5hlJVrRAAyxRpHwxdbogfIBCn49bIegbz4C2vQhsr0H9d8DZ7ybsu1uGLcBBFW79MVSHowxzRT/EF3znKd58mI2xS/g6KpOt/QIBF2H+jQwW3SHrukHSxmA4WMYDgx42s3Yb5qm8WfhmW+OsHDmwGPLJgWDqtN44BViA1obxm7BELJs9A87lJtXgdmo7HQTaOfAsyRnph8R5kU1VdpOMIfSjPHPtI5Yu3ZtrW7bjRnbDoGzubAsMMq11S/VCQLd6I580pXQtXCIua0ymZFoOJzJ4tOFgYEB+o7ExV4WucMUHT/WXlBDkyRSAQc+ZGbkk6FbzcbwnX6GbwK/NkmmGtF3FKjBpAkPliaNnfyr4OkPuM5eGxmU/+1bGu7dcoXhU+jy1RQMbSOYZoWBz9oo2eDsSYZWfjbaghMj8DNy+vTpc8eOHSN6ULtFaSm3E3Lxinb9RiOgzYjCh2IgeMAFVJc2FPHFLYOdoLyygSjtKw4bFMfgW48xUwv3GdVLTAOGO2KPmBWw2VAtQMMaTfm2mR3t8bw1rCYzuIapmm4my/Wo8v0FdKFxFzZXCnMqHc+MnmmxdANmLAsQkpJHsbY4nEiUVZ4GWjBWtEDEVbYBnWqSR8gYduU+Ao41MbegSQr1yKAGZaBaBzuY2rWRPPTpJ5ozBfNRGNL0a09eo5FiBJqbC9/pTyj4f7KX/lUJ8yGiAAAAAElFTkSuQmCC" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "AI" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Image-to-Text Action" description: Detect and classify objects in an image into texts using the SSD and ResNet models and the ImageNet dataset. type: object types: out: mediaType: application/json dependencies: - "mvn:ai.djl.pytorch:pytorch-engine:0.29.0" - "mvn:ai.djl.pytorch:pytorch-model-zoo:0.29.0" - "camel:core" - "camel:kamelet" - "camel:jackson" - "camel:djl" template: beans: - name: imageNetUtil type: "#class:org.apache.camel.component.djl.ImageNetUtil" from: uri: "kamelet:source" steps: - to: "djl:cv/object_detection?artifactId=ssd" - convertBodyTo: "ai.djl.modality.cv.Image[]" - split: expression: simple: "${body}" aggregationStrategy: "#class:org.apache.camel.processor.aggregate.GroupedBodyAggregationStrategy" steps: - to: "djl:cv/image_classification?artifactId=resnet" # The output from the image classification model is classified # as one of 1000 labels from WordNet. # Since it's too fine-grained, we want to find the higher-level # group (= hypernym) for the classification using the WordNet # dictionary. - bean: ref: "{{imageNetUtil}}" method: extractClassName - bean: ref: "{{imageNetUtil}}" method: addHypernym - marshal: json: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: dns-dig-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyLjg3OSAxMjIuODgxIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMjIuODc5IDEyMi44ODEiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik0xMDkuNDY3LDg5LjUwNWMwLjE4MiwwLDAuMzU5LDAuMDE5LDAuNTMxLDAuMDUzYzEuMTQ2LTEuOTk4LDIuMTkxLTQuMDk1LDMuMTM3LTYuMjg3IGMwLjAxOC0wLjA0MywwLjAzNy0wLjA4NSwwLjA1OS0wLjEyN2MxLjQxOC0zLjM0NiwyLjQ4OC02LjgxOSwzLjIwOS0xMC40MmMwLjE5My0wLjk2MSwwLjM1OS0xLjkzMSwwLjUtMi45MDggYzAuNjM5LTMuOTUzLDAuODAzLTcuOTcsMC40ODItMTIuMDUyYy0wLjE2LTIuNTkxLTAuNDg4LTUuMTI2LTAuOTgyLTcuNjA1Yy0wLjczLTMuNjQ2LTEuODE4LTcuMTY1LTMuMjY2LTEwLjU0OWwtMC4wMDIsMC4wMDIgbC0zLjEwNy02LjIzM2wwLDBsLTAuMjgzLTAuMzM2SDEzLjA0N2wtMC4xOTUsMC4zMzZjLTEuMTM2LDEuOTgyLTIuMTcsNC4wNjEtMy4xMDUsNi4yMzRjLTAuMDE5LDAuMDQzLTAuMDM5LDAuMDg2LTAuMDU5LDAuMTI3IGMtMC44NzgsMi4wNzEtMS42MjIsNC4xOS0yLjIzMyw2LjM1OGMtMi41NzIsOC40NDgtMi45NzIsMTYuODk1LTEuMjE3LDI1LjM0MmMwLjA3NiwwLjQzLDAuMTU1LDAuODU4LDAuMjQxLDEuMjg1IGMwLjcyOSwzLjY0NiwxLjgxOCw3LjE2NCwzLjI2NCwxMC41NDlsMC4wMDQtMC4wMDFjMC45MzUsMi4xNzIsMS45NjksNC4yNTEsMy4xMDUsNi4yMzNsMCwwIEM0NS4wODgsODkuNTA1LDc3LjI3Nyw4OS41MDUsMTA5LjQ2Nyw4OS41MDVMMTA5LjQ2Nyw4OS41MDVMMTA5LjQ2Nyw4OS41MDV6IE0zMi4yNjksNDUuODE2YzQuNTQ4LDAsOC4wMzksMS4yMzMsMTAuNDcyLDMuNjk3IGMyLjQzMiwyLjQ2NCwzLjY0OSw2LjAxOSwzLjY0OSwxMC42NjNjMCw1LjUwMi0xLjQxNiw5LjczMi00LjI0NiwxMi42OWMtMi44MzEsMi45NTctNi44ODUsNC40MzctMTIuMTY2LDQuNDM3IGMtMy4zMDgsMC03LjE4OC0wLjE0NC0xMS42NC0wLjQzbDAuNDc3LTkuMDY0bC0wLjQ3Ny0yMS44MDNMMzIuMjY5LDQ1LjgxNkwzMi4yNjksNDUuODE2eiBNMzEuNzkxLDcwLjE5NSBjMS40OTYsMCwyLjYzMy0wLjU5OCwzLjQxMi0xLjc4OWMwLjc3OS0xLjE5MywxLjE2OS0zLjE1NywxLjE2OS01Ljg5M2MwLTIuMzIxLTAuMTYtNC4xNS0wLjQ3Ny01LjQ4NiBjLTAuMzE5LTEuMzM2LTAuODI5LTIuMjk3LTEuNTI3LTIuODg1Yy0wLjctMC41ODktMS42Ny0wLjg4My0yLjkxLTAuODgzYy0xLjIwOSwwLTIuNDAyLDAuMDYzLTMuNTc5LDAuMTlsLTAuMzMzLDEzLjQwNiBsMC4wOTUsMi45NThDMjkuNTQ5LDcwLjA2OCwzMC45MzMsNzAuMTk1LDMxLjc5MSw3MC4xOTVMMzEuNzkxLDcwLjE5NXogTTc2LjgwNyw2Ni44MDhsMC4zODEsMTAuMDY2aC0xMC40bC04LjY4Mi0xNi41MDZoLTAuNTczIGwtMC4wNDcsNS4zNDJsMC4zODIsMTEuMTY0aC04LjY4M2wwLjQ3Ny05LjA2NGwtMC40NzctMjEuODAzaDEwLjRsOC42ODIsMTYuNTA3aDAuNTcybC0wLjI4NS0xNi4xNzJsOC43NzctMC41MjVMNzYuODA3LDY2LjgwOCBMNzYuODA3LDY2LjgwOHogTTk1LDQ1LjQzNWMzLjAyLDAsNi4wMTIsMC41NTYsOC45NjksMS42N2wtMS41MjcsNy43NzZsLTEuMzM2LDAuNTczYy0xLjMzNi0wLjgyOC0yLjY1Ni0xLjQ4LTMuOTU5LTEuOTU3IGMtMS4zMDMtMC40NzYtMi4zNTUtMC43MTYtMy4xNDgtMC43MTZjLTAuNzMyLDAtMS4zMTMsMC4xNDQtMS43NDIsMC40M3MtMC42NDUsMC42NjgtMC42NDUsMS4xNDZjMCwwLjYwNCwwLjMyOCwxLjEyMiwwLjk3OSwxLjU1IGMwLjY1LDAuNDI5LDEuNzM4LDEuMDAzLDMuMjY4LDEuNjkzYzEuNzc3LDAuODAzLDMuMjQ0LDEuNTM1LDQuMzkxLDIuMjE4YzEuMTQzLDAuNjgzLDIuMTQ2LDEuNjI0LDMuMDA0LDIuODE0IGMwLjg1NywxLjE5MiwxLjI4OSwyLjY2NCwxLjI4OSw0LjQxM2MwLDEuOTQtMC41MzMsMy42OTctMS42LDUuMjcyYy0xLjA2NCwxLjU3NC0yLjU4NCwyLjgyNC00LjU1NSwzLjc0NSBzLTQuMjYyLDEuMzgzLTYuODcxLDEuMzgzYy0zLjI0MiwwLTYuNjQ2LTAuNjA0LTEwLjIwOS0xLjgxM2wxLjM4NS04LjMwMmwwLjk1My0wLjU3MmMxLjQ2MywxLjExMywzLjAyOSwxLjk5Niw0LjY5OSwyLjY0NyBjMS42NywwLjY1MiwzLjA2MSwwLjk3OSw0LjE3NCwwLjk3OWMwLjg5MSwwLDEuNTM3LTAuMTUyLDEuOTM0LTAuNDUzYzAuMzk1LTAuMzAyLDAuNTk2LTAuNjc2LDAuNTk2LTEuMTIgYzAtMC42NjktMC4zNDItMS4yMzUtMS4wMjUtMS42OTRjLTAuNjg0LTAuNDYxLTEuNzkxLTEuMDI3LTMuMzE2LTEuNjkzYy0xLjc0OC0wLjc2NC0zLjE4OC0xLjQ4OC00LjMxNi0yLjE3MiBjLTEuMTMxLTAuNjgzLTIuMTA5LTEuNjIzLTIuOTM0LTIuODE0Yy0wLjgyNi0xLjE5Mi0xLjI0Mi0yLjY2NC0xLjI0Mi00LjQxM2MwLTIuMDA0LDAuNTQzLTMuODEsMS42MjMtNS40MTUgYzEuMDgtMS42MDUsMi41OTItMi44NzIsNC41MzEtMy43OTJDOTAuMzA3LDQ1Ljg5Nyw5Mi41MTgsNDUuNDM1LDk1LDQ1LjQzNUw5NSw0NS40MzV6IE0xMDYuNTIxLDk0Ljg5MUg4OS41MDggYy01LjE2Niw3LjQ4MS0xMi4xMjMsMTQuODctMjAuODQsMjIuMTY3YzEuMzY3LTAuMTY5LDIuNzE5LTAuMzg4LDQuMDU3LTAuNjU0YzMuNjQ2LTAuNzI5LDcuMTY0LTEuODE3LDEwLjU0OS0zLjI2NWwtMC4wMDItMC4wMDQgYzMuNDQxLTEuNDgsNi42NDYtMy4yMTIsOS42MDktNS4xOTljMi45NjktMS45OTIsNS43MjEtNC4yNTUsOC4yNS02Ljc5NWwwLjAxLTAuMDFsMCwwIEMxMDMuMDk4LDk5LjE4MiwxMDQuODkxLDk3LjEwMSwxMDYuNTIxLDk0Ljg5MUwxMDYuNTIxLDk0Ljg5MUwxMDYuNTIxLDk0Ljg5MXogTTU0LjIxLDExNy4wNTggYy04LjcxNi03LjI5Ny0xNS42NzMtMTQuNjg2LTIwLjgzOC0yMi4xNjdIMTYuMzYxYzEuNjMxLDIuMjEsMy40MjMsNC4yOTEsNS4zNzksNi4yNGwwLjAxLDAuMDExdi0wLjAwMSBjMi41MywyLjU0LDUuMjgyLDQuODA0LDguMjUsNi43OTVjMi45NjIsMS45ODcsNi4xNjcsMy43MTksOS42MSw1LjE5OWMwLjA0MiwwLjAxOSwwLjA4NSwwLjAzOSwwLjEyNywwLjA1OSBjMy4zNDUsMS40Miw2LjgxOSwyLjQ4OCwxMC40MiwzLjIwOUM1MS40OTMsMTE2LjY3LDUyLjg0MywxMTYuODg5LDU0LjIxLDExNy4wNThMNTQuMjEsMTE3LjA1OEw1NC4yMSwxMTcuMDU4eiBNMTYuMzYxLDI3Ljk5MSBoMTcuOTM4YzUuMTA4LTcuMzYxLDExLjg2Mi0xNC43NjUsMjAuMjktMjIuMjEyYy0xLjQ5NSwwLjE3NS0yLjk3MywwLjQwOS00LjQzMSwwLjdjLTMuNjQ3LDAuNzI5LTcuMTY0LDEuODE4LTEwLjU0OSwzLjI2NSBsMCwwLjAwM2MtMy40NDIsMS40ODEtNi42NDcsMy4yMTEtOS42MDksNS4yYy0yLjk2OSwxLjk5Mi01LjcyLDQuMjU1LTguMjUsNi43OTRMMjEuNzQsMjEuNzVsMCwwIEMxOS43ODQsMjMuNzAxLDE3Ljk5MiwyNS43OCwxNi4zNjEsMjcuOTkxTDE2LjM2MSwyNy45OTFMMTYuMzYxLDI3Ljk5MXogTTY4LjI5MSw1Ljc3OGM4LjQyOCw3LjQ0NywxNS4xODIsMTQuODUxLDIwLjI5MSwyMi4yMTIgaDE3LjkzOWMtMS42MzMtMi4yMS0zLjQyNi00LjI5Mi01LjM4My02LjI0MWwtMC4wMS0wLjAwOWwwLDBjLTIuNTI3LTIuNTQtNS4yNzktNC44MDItOC4yNS02Ljc5NCBjLTIuOTYzLTEuOTg4LTYuMTY4LTMuNzE5LTkuNjA5LTUuMmMtMC4wNDMtMC4wMTktMC4wODYtMC4wMzktMC4xMjctMC4wNTljLTMuMzQ2LTEuNDE4LTYuODItMi40ODgtMTAuNDItMy4yMDggQzcxLjI2Niw2LjE4Nyw2OS43ODUsNS45NTQsNjguMjkxLDUuNzc4TDY4LjI5MSw1Ljc3OEw2OC4yOTEsNS43Nzh6IE00OS4xMDcsMS4xOThDNTMuMDk5LDAuMzk5LDU3LjIxMSwwLDYxLjQ0LDAgczguMzQxLDAuMzk5LDEyLjMzMywxLjE5OGMzLjkzNiwwLjc4OCw3Ljc1OCwxLjk2OSwxMS40NzUsMy41NDdjMC4wNDksMC4wMTgsMC4xLDAuMDM4LDAuMTQ2LDAuMDU4IGMzLjcwMywxLjU5NCw3LjE5NywzLjQ4NSwxMC40NzMsNS42ODVjMy4yNjgsMi4xOTIsNi4yOTEsNC42NzcsOS4wNjQsNy40NjFjMi43ODUsMi43NzUsNS4yNzEsNS43OTksNy40NjMsOS4wNjUgYzIuMTk3LDMuMjc1LDQuMDksNi43NjksNS42ODQsMTAuNDc0bC0wLjAwNCwwLjAwMWwwLjAwNCwwLjAwOWMxLjYwNywzLjc1OCwyLjgwOSw3LjYyNywzLjYwNSwxMS42MDkgYzAuNzk5LDMuOTkyLDEuMTk1LDguMTA0LDEuMTk1LDEyLjMzNGMwLDQuMjI5LTAuMzk2LDguMzQzLTEuMTk1LDEyLjMzNWMtMC43ODcsMy45MzItMS45NzMsNy43NTgtMy41NDcsMTEuNDcyIGMtMC4wMiwwLjA1LTAuMDM3LDAuMDk5LTAuMDYxLDAuMTQ3Yy0xLjU5NCwzLjcwNS0zLjQ4NCw3LjE5Ni01LjY4NCwxMC40NzJjLTIuMTkxLDMuMjY4LTQuNjc2LDYuMjktNy40NjEsOS4wNjUgYy0yLjc3NSwyLjc4NS01Ljc5OSw1LjI3MS05LjA2Niw3LjQ2MmMtMy4yNzMsMi4xOTgtNi43NjgsNC4wOTEtMTAuNDcxLDUuNjg0bC0wLjAwMi0wLjAwNGwtMC4wMSwwLjAwNCBjLTMuNzU4LDEuNjA2LTcuNjI5LDIuODA5LTExLjYwOSwzLjYwNGMtMy45OTIsMC44LTguMTA1LDEuMTk4LTEyLjMzMywxLjE5OGMtNC4yMjksMC04LjM0My0wLjM5OC0xMi4zMzQtMS4xOTggYy0zLjkzMy0wLjc4Ny03Ljc1OC0xLjk3LTExLjQ3NC0zLjU0NmMtMC4wNDktMC4wMTktMC4wOTgtMC4wMzctMC4xNDctMC4wNmMtMy43MDUtMS41OTMtNy4xOTctMy40ODQtMTAuNDcyLTUuNjg0IGMtMy4yNjYtMi4xOS02LjI5MS00LjY3Ny05LjA2NS03LjQ2MmMtMi43ODUtMi43NzUtNS4yNy01Ljc5OS03LjQ2MS05LjA2NGMtMi4xOTgtMy4yNzQtNC4wOS02Ljc2OC01LjY4NC0xMC40NzNsMC4wMDQtMC4wMDIgbC0wLjAwNC0wLjAwOWMtMS42MDYtMy43NTgtMi44MDgtNy42MjgtMy42MDQtMTEuNjA5QzAuNCw2OS43ODMsMCw2NS42NzEsMCw2MS40NGMwLTQuMjI5LDAuNC04LjM0MiwxLjE5OC0xMi4zMzQgYzAuNzg3LTMuOTMzLDEuOTctNy43NTcsMy41NDYtMTEuNDczYzAuMDE5LTAuMDQ5LDAuMDM4LTAuMSwwLjA1OC0wLjE0N2MxLjU5NC0zLjcwNSwzLjQ4NS03LjE5OCw1LjY4NC0xMC40NzQgYzIuMTkyLTMuMjY2LDQuNjc3LTYuMjksNy40NjEtOS4wNjVjMi43NzQtMi43ODUsNS43OTktNS4yNyw5LjA2NS03LjQ2MWMzLjI3NS0yLjE5OSw2Ljc2OS00LjA5LDEwLjQ3Mi01LjY4NWwwLjAwMSwwLjAwNCBsMC4wMDktMC4wMDRDNDEuMjU1LDMuMTk3LDQ1LjEyNiwxLjk5NSw0OS4xMDcsMS4xOThMNDkuMTA3LDEuMTk4TDQ5LjEwNywxLjE5OHogTTY0LjEzNSw5LjI2OHYxOC43MjNoMTcuODI2IEM3Ny4yNzUsMjEuODE1LDcxLjM0LDE1LjU3NSw2NC4xMzUsOS4yNjhMNjQuMTM1LDkuMjY4TDY0LjEzNSw5LjI2OHogTTY0LjEzNSw5NC44OTF2MTguOTUyIGM3LjY0NS02LjI4MywxMy45LTEyLjYwMSwxOC43NDYtMTguOTUySDY0LjEzNUw2NC4xMzUsOTQuODkxTDY0LjEzNSw5NC44OTF6IE01OC43NDgsMTEzLjg0NVY5NC44OTFINDAgQzQ0Ljg0MywxMDEuMjQxLDUxLjEwMSwxMDcuNTYyLDU4Ljc0OCwxMTMuODQ1TDU4Ljc0OCwxMTMuODQ1TDU4Ljc0OCwxMTMuODQ1eiBNNTguNzQ4LDI3Ljk5MVY5LjI2NiBjLTcuMjA3LDYuMzA3LTEzLjE0MywxMi41NDktMTcuODI3LDE4LjcyNUg1OC43NDhMNTguNzQ4LDI3Ljk5MUw1OC43NDgsMjcuOTkxeiIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "DNS" camel.apache.org/kamelet.namespace: "Networking" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "DNS DIG Action" description: Query a DNS through Dig. type: object dependencies: - "camel:core" - "camel:dns" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[domain-name]}" steps: - setHeader: name: dns.name simple: "${header[domain-name]}" - simple: "${header[ce-domainname]}" steps: - setHeader: name: dns.name simple: "${header[ce-domainname]}" otherwise: steps: - setHeader: name: dns.name simple: "${body}" - choice: when: - simple: "${header[dns-type]}" steps: - setHeader: name: dns.type simple: "${header[dns-type]}" - simple: "${header[ce-dnstype]}" steps: - setHeader: name: dns.type simple: "${header[ce-dnstype]}" otherwise: steps: - setHeader: name: dns.type constant: "A" - to: uri: "dns:dig" - convertBodyTo: type: "java.lang.String" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: dns-ip-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyLjg3OSAxMjIuODgxIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMjIuODc5IDEyMi44ODEiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik0xMDkuNDY3LDg5LjUwNWMwLjE4MiwwLDAuMzU5LDAuMDE5LDAuNTMxLDAuMDUzYzEuMTQ2LTEuOTk4LDIuMTkxLTQuMDk1LDMuMTM3LTYuMjg3IGMwLjAxOC0wLjA0MywwLjAzNy0wLjA4NSwwLjA1OS0wLjEyN2MxLjQxOC0zLjM0NiwyLjQ4OC02LjgxOSwzLjIwOS0xMC40MmMwLjE5My0wLjk2MSwwLjM1OS0xLjkzMSwwLjUtMi45MDggYzAuNjM5LTMuOTUzLDAuODAzLTcuOTcsMC40ODItMTIuMDUyYy0wLjE2LTIuNTkxLTAuNDg4LTUuMTI2LTAuOTgyLTcuNjA1Yy0wLjczLTMuNjQ2LTEuODE4LTcuMTY1LTMuMjY2LTEwLjU0OWwtMC4wMDIsMC4wMDIgbC0zLjEwNy02LjIzM2wwLDBsLTAuMjgzLTAuMzM2SDEzLjA0N2wtMC4xOTUsMC4zMzZjLTEuMTM2LDEuOTgyLTIuMTcsNC4wNjEtMy4xMDUsNi4yMzRjLTAuMDE5LDAuMDQzLTAuMDM5LDAuMDg2LTAuMDU5LDAuMTI3IGMtMC44NzgsMi4wNzEtMS42MjIsNC4xOS0yLjIzMyw2LjM1OGMtMi41NzIsOC40NDgtMi45NzIsMTYuODk1LTEuMjE3LDI1LjM0MmMwLjA3NiwwLjQzLDAuMTU1LDAuODU4LDAuMjQxLDEuMjg1IGMwLjcyOSwzLjY0NiwxLjgxOCw3LjE2NCwzLjI2NCwxMC41NDlsMC4wMDQtMC4wMDFjMC45MzUsMi4xNzIsMS45NjksNC4yNTEsMy4xMDUsNi4yMzNsMCwwIEM0NS4wODgsODkuNTA1LDc3LjI3Nyw4OS41MDUsMTA5LjQ2Nyw4OS41MDVMMTA5LjQ2Nyw4OS41MDVMMTA5LjQ2Nyw4OS41MDV6IE0zMi4yNjksNDUuODE2YzQuNTQ4LDAsOC4wMzksMS4yMzMsMTAuNDcyLDMuNjk3IGMyLjQzMiwyLjQ2NCwzLjY0OSw2LjAxOSwzLjY0OSwxMC42NjNjMCw1LjUwMi0xLjQxNiw5LjczMi00LjI0NiwxMi42OWMtMi44MzEsMi45NTctNi44ODUsNC40MzctMTIuMTY2LDQuNDM3IGMtMy4zMDgsMC03LjE4OC0wLjE0NC0xMS42NC0wLjQzbDAuNDc3LTkuMDY0bC0wLjQ3Ny0yMS44MDNMMzIuMjY5LDQ1LjgxNkwzMi4yNjksNDUuODE2eiBNMzEuNzkxLDcwLjE5NSBjMS40OTYsMCwyLjYzMy0wLjU5OCwzLjQxMi0xLjc4OWMwLjc3OS0xLjE5MywxLjE2OS0zLjE1NywxLjE2OS01Ljg5M2MwLTIuMzIxLTAuMTYtNC4xNS0wLjQ3Ny01LjQ4NiBjLTAuMzE5LTEuMzM2LTAuODI5LTIuMjk3LTEuNTI3LTIuODg1Yy0wLjctMC41ODktMS42Ny0wLjg4My0yLjkxLTAuODgzYy0xLjIwOSwwLTIuNDAyLDAuMDYzLTMuNTc5LDAuMTlsLTAuMzMzLDEzLjQwNiBsMC4wOTUsMi45NThDMjkuNTQ5LDcwLjA2OCwzMC45MzMsNzAuMTk1LDMxLjc5MSw3MC4xOTVMMzEuNzkxLDcwLjE5NXogTTc2LjgwNyw2Ni44MDhsMC4zODEsMTAuMDY2aC0xMC40bC04LjY4Mi0xNi41MDZoLTAuNTczIGwtMC4wNDcsNS4zNDJsMC4zODIsMTEuMTY0aC04LjY4M2wwLjQ3Ny05LjA2NGwtMC40NzctMjEuODAzaDEwLjRsOC42ODIsMTYuNTA3aDAuNTcybC0wLjI4NS0xNi4xNzJsOC43NzctMC41MjVMNzYuODA3LDY2LjgwOCBMNzYuODA3LDY2LjgwOHogTTk1LDQ1LjQzNWMzLjAyLDAsNi4wMTIsMC41NTYsOC45NjksMS42N2wtMS41MjcsNy43NzZsLTEuMzM2LDAuNTczYy0xLjMzNi0wLjgyOC0yLjY1Ni0xLjQ4LTMuOTU5LTEuOTU3IGMtMS4zMDMtMC40NzYtMi4zNTUtMC43MTYtMy4xNDgtMC43MTZjLTAuNzMyLDAtMS4zMTMsMC4xNDQtMS43NDIsMC40M3MtMC42NDUsMC42NjgtMC42NDUsMS4xNDZjMCwwLjYwNCwwLjMyOCwxLjEyMiwwLjk3OSwxLjU1IGMwLjY1LDAuNDI5LDEuNzM4LDEuMDAzLDMuMjY4LDEuNjkzYzEuNzc3LDAuODAzLDMuMjQ0LDEuNTM1LDQuMzkxLDIuMjE4YzEuMTQzLDAuNjgzLDIuMTQ2LDEuNjI0LDMuMDA0LDIuODE0IGMwLjg1NywxLjE5MiwxLjI4OSwyLjY2NCwxLjI4OSw0LjQxM2MwLDEuOTQtMC41MzMsMy42OTctMS42LDUuMjcyYy0xLjA2NCwxLjU3NC0yLjU4NCwyLjgyNC00LjU1NSwzLjc0NSBzLTQuMjYyLDEuMzgzLTYuODcxLDEuMzgzYy0zLjI0MiwwLTYuNjQ2LTAuNjA0LTEwLjIwOS0xLjgxM2wxLjM4NS04LjMwMmwwLjk1My0wLjU3MmMxLjQ2MywxLjExMywzLjAyOSwxLjk5Niw0LjY5OSwyLjY0NyBjMS42NywwLjY1MiwzLjA2MSwwLjk3OSw0LjE3NCwwLjk3OWMwLjg5MSwwLDEuNTM3LTAuMTUyLDEuOTM0LTAuNDUzYzAuMzk1LTAuMzAyLDAuNTk2LTAuNjc2LDAuNTk2LTEuMTIgYzAtMC42NjktMC4zNDItMS4yMzUtMS4wMjUtMS42OTRjLTAuNjg0LTAuNDYxLTEuNzkxLTEuMDI3LTMuMzE2LTEuNjkzYy0xLjc0OC0wLjc2NC0zLjE4OC0xLjQ4OC00LjMxNi0yLjE3MiBjLTEuMTMxLTAuNjgzLTIuMTA5LTEuNjIzLTIuOTM0LTIuODE0Yy0wLjgyNi0xLjE5Mi0xLjI0Mi0yLjY2NC0xLjI0Mi00LjQxM2MwLTIuMDA0LDAuNTQzLTMuODEsMS42MjMtNS40MTUgYzEuMDgtMS42MDUsMi41OTItMi44NzIsNC41MzEtMy43OTJDOTAuMzA3LDQ1Ljg5Nyw5Mi41MTgsNDUuNDM1LDk1LDQ1LjQzNUw5NSw0NS40MzV6IE0xMDYuNTIxLDk0Ljg5MUg4OS41MDggYy01LjE2Niw3LjQ4MS0xMi4xMjMsMTQuODctMjAuODQsMjIuMTY3YzEuMzY3LTAuMTY5LDIuNzE5LTAuMzg4LDQuMDU3LTAuNjU0YzMuNjQ2LTAuNzI5LDcuMTY0LTEuODE3LDEwLjU0OS0zLjI2NWwtMC4wMDItMC4wMDQgYzMuNDQxLTEuNDgsNi42NDYtMy4yMTIsOS42MDktNS4xOTljMi45NjktMS45OTIsNS43MjEtNC4yNTUsOC4yNS02Ljc5NWwwLjAxLTAuMDFsMCwwIEMxMDMuMDk4LDk5LjE4MiwxMDQuODkxLDk3LjEwMSwxMDYuNTIxLDk0Ljg5MUwxMDYuNTIxLDk0Ljg5MUwxMDYuNTIxLDk0Ljg5MXogTTU0LjIxLDExNy4wNTggYy04LjcxNi03LjI5Ny0xNS42NzMtMTQuNjg2LTIwLjgzOC0yMi4xNjdIMTYuMzYxYzEuNjMxLDIuMjEsMy40MjMsNC4yOTEsNS4zNzksNi4yNGwwLjAxLDAuMDExdi0wLjAwMSBjMi41MywyLjU0LDUuMjgyLDQuODA0LDguMjUsNi43OTVjMi45NjIsMS45ODcsNi4xNjcsMy43MTksOS42MSw1LjE5OWMwLjA0MiwwLjAxOSwwLjA4NSwwLjAzOSwwLjEyNywwLjA1OSBjMy4zNDUsMS40Miw2LjgxOSwyLjQ4OCwxMC40MiwzLjIwOUM1MS40OTMsMTE2LjY3LDUyLjg0MywxMTYuODg5LDU0LjIxLDExNy4wNThMNTQuMjEsMTE3LjA1OEw1NC4yMSwxMTcuMDU4eiBNMTYuMzYxLDI3Ljk5MSBoMTcuOTM4YzUuMTA4LTcuMzYxLDExLjg2Mi0xNC43NjUsMjAuMjktMjIuMjEyYy0xLjQ5NSwwLjE3NS0yLjk3MywwLjQwOS00LjQzMSwwLjdjLTMuNjQ3LDAuNzI5LTcuMTY0LDEuODE4LTEwLjU0OSwzLjI2NSBsMCwwLjAwM2MtMy40NDIsMS40ODEtNi42NDcsMy4yMTEtOS42MDksNS4yYy0yLjk2OSwxLjk5Mi01LjcyLDQuMjU1LTguMjUsNi43OTRMMjEuNzQsMjEuNzVsMCwwIEMxOS43ODQsMjMuNzAxLDE3Ljk5MiwyNS43OCwxNi4zNjEsMjcuOTkxTDE2LjM2MSwyNy45OTFMMTYuMzYxLDI3Ljk5MXogTTY4LjI5MSw1Ljc3OGM4LjQyOCw3LjQ0NywxNS4xODIsMTQuODUxLDIwLjI5MSwyMi4yMTIgaDE3LjkzOWMtMS42MzMtMi4yMS0zLjQyNi00LjI5Mi01LjM4My02LjI0MWwtMC4wMS0wLjAwOWwwLDBjLTIuNTI3LTIuNTQtNS4yNzktNC44MDItOC4yNS02Ljc5NCBjLTIuOTYzLTEuOTg4LTYuMTY4LTMuNzE5LTkuNjA5LTUuMmMtMC4wNDMtMC4wMTktMC4wODYtMC4wMzktMC4xMjctMC4wNTljLTMuMzQ2LTEuNDE4LTYuODItMi40ODgtMTAuNDItMy4yMDggQzcxLjI2Niw2LjE4Nyw2OS43ODUsNS45NTQsNjguMjkxLDUuNzc4TDY4LjI5MSw1Ljc3OEw2OC4yOTEsNS43Nzh6IE00OS4xMDcsMS4xOThDNTMuMDk5LDAuMzk5LDU3LjIxMSwwLDYxLjQ0LDAgczguMzQxLDAuMzk5LDEyLjMzMywxLjE5OGMzLjkzNiwwLjc4OCw3Ljc1OCwxLjk2OSwxMS40NzUsMy41NDdjMC4wNDksMC4wMTgsMC4xLDAuMDM4LDAuMTQ2LDAuMDU4IGMzLjcwMywxLjU5NCw3LjE5NywzLjQ4NSwxMC40NzMsNS42ODVjMy4yNjgsMi4xOTIsNi4yOTEsNC42NzcsOS4wNjQsNy40NjFjMi43ODUsMi43NzUsNS4yNzEsNS43OTksNy40NjMsOS4wNjUgYzIuMTk3LDMuMjc1LDQuMDksNi43NjksNS42ODQsMTAuNDc0bC0wLjAwNCwwLjAwMWwwLjAwNCwwLjAwOWMxLjYwNywzLjc1OCwyLjgwOSw3LjYyNywzLjYwNSwxMS42MDkgYzAuNzk5LDMuOTkyLDEuMTk1LDguMTA0LDEuMTk1LDEyLjMzNGMwLDQuMjI5LTAuMzk2LDguMzQzLTEuMTk1LDEyLjMzNWMtMC43ODcsMy45MzItMS45NzMsNy43NTgtMy41NDcsMTEuNDcyIGMtMC4wMiwwLjA1LTAuMDM3LDAuMDk5LTAuMDYxLDAuMTQ3Yy0xLjU5NCwzLjcwNS0zLjQ4NCw3LjE5Ni01LjY4NCwxMC40NzJjLTIuMTkxLDMuMjY4LTQuNjc2LDYuMjktNy40NjEsOS4wNjUgYy0yLjc3NSwyLjc4NS01Ljc5OSw1LjI3MS05LjA2Niw3LjQ2MmMtMy4yNzMsMi4xOTgtNi43NjgsNC4wOTEtMTAuNDcxLDUuNjg0bC0wLjAwMi0wLjAwNGwtMC4wMSwwLjAwNCBjLTMuNzU4LDEuNjA2LTcuNjI5LDIuODA5LTExLjYwOSwzLjYwNGMtMy45OTIsMC44LTguMTA1LDEuMTk4LTEyLjMzMywxLjE5OGMtNC4yMjksMC04LjM0My0wLjM5OC0xMi4zMzQtMS4xOTggYy0zLjkzMy0wLjc4Ny03Ljc1OC0xLjk3LTExLjQ3NC0zLjU0NmMtMC4wNDktMC4wMTktMC4wOTgtMC4wMzctMC4xNDctMC4wNmMtMy43MDUtMS41OTMtNy4xOTctMy40ODQtMTAuNDcyLTUuNjg0IGMtMy4yNjYtMi4xOS02LjI5MS00LjY3Ny05LjA2NS03LjQ2MmMtMi43ODUtMi43NzUtNS4yNy01Ljc5OS03LjQ2MS05LjA2NGMtMi4xOTgtMy4yNzQtNC4wOS02Ljc2OC01LjY4NC0xMC40NzNsMC4wMDQtMC4wMDIgbC0wLjAwNC0wLjAwOWMtMS42MDYtMy43NTgtMi44MDgtNy42MjgtMy42MDQtMTEuNjA5QzAuNCw2OS43ODMsMCw2NS42NzEsMCw2MS40NGMwLTQuMjI5LDAuNC04LjM0MiwxLjE5OC0xMi4zMzQgYzAuNzg3LTMuOTMzLDEuOTctNy43NTcsMy41NDYtMTEuNDczYzAuMDE5LTAuMDQ5LDAuMDM4LTAuMSwwLjA1OC0wLjE0N2MxLjU5NC0zLjcwNSwzLjQ4NS03LjE5OCw1LjY4NC0xMC40NzQgYzIuMTkyLTMuMjY2LDQuNjc3LTYuMjksNy40NjEtOS4wNjVjMi43NzQtMi43ODUsNS43OTktNS4yNyw5LjA2NS03LjQ2MWMzLjI3NS0yLjE5OSw2Ljc2OS00LjA5LDEwLjQ3Mi01LjY4NWwwLjAwMSwwLjAwNCBsMC4wMDktMC4wMDRDNDEuMjU1LDMuMTk3LDQ1LjEyNiwxLjk5NSw0OS4xMDcsMS4xOThMNDkuMTA3LDEuMTk4TDQ5LjEwNywxLjE5OHogTTY0LjEzNSw5LjI2OHYxOC43MjNoMTcuODI2IEM3Ny4yNzUsMjEuODE1LDcxLjM0LDE1LjU3NSw2NC4xMzUsOS4yNjhMNjQuMTM1LDkuMjY4TDY0LjEzNSw5LjI2OHogTTY0LjEzNSw5NC44OTF2MTguOTUyIGM3LjY0NS02LjI4MywxMy45LTEyLjYwMSwxOC43NDYtMTguOTUySDY0LjEzNUw2NC4xMzUsOTQuODkxTDY0LjEzNSw5NC44OTF6IE01OC43NDgsMTEzLjg0NVY5NC44OTFINDAgQzQ0Ljg0MywxMDEuMjQxLDUxLjEwMSwxMDcuNTYyLDU4Ljc0OCwxMTMuODQ1TDU4Ljc0OCwxMTMuODQ1TDU4Ljc0OCwxMTMuODQ1eiBNNTguNzQ4LDI3Ljk5MVY5LjI2NiBjLTcuMjA3LDYuMzA3LTEzLjE0MywxMi41NDktMTcuODI3LDE4LjcyNUg1OC43NDhMNTguNzQ4LDI3Ljk5MUw1OC43NDgsMjcuOTkxeiIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "DNS" camel.apache.org/kamelet.namespace: "Networking" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "DNS IP Action" description: Get an IP from a DNS type: object dependencies: - "camel:core" - "camel:dns" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[domain]}" steps: - setHeader: name: dns.domain simple: "${header[domain]}" - simple: "${header[ce-domain]}" steps: - setHeader: name: dns.domain simple: "${header[ce-domain]}" otherwise: steps: - setHeader: name: dns.domain simple: "${body}" - to: uri: "dns:ip" - convertBodyTo: type: "java.lang.String" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: dns-lookup-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTIyLjg3OSAxMjIuODgxIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMjIuODc5IDEyMi44ODEiIHhtbDpzcGFjZT0icHJlc2VydmUiPjxnPjxwYXRoIGQ9Ik0xMDkuNDY3LDg5LjUwNWMwLjE4MiwwLDAuMzU5LDAuMDE5LDAuNTMxLDAuMDUzYzEuMTQ2LTEuOTk4LDIuMTkxLTQuMDk1LDMuMTM3LTYuMjg3IGMwLjAxOC0wLjA0MywwLjAzNy0wLjA4NSwwLjA1OS0wLjEyN2MxLjQxOC0zLjM0NiwyLjQ4OC02LjgxOSwzLjIwOS0xMC40MmMwLjE5My0wLjk2MSwwLjM1OS0xLjkzMSwwLjUtMi45MDggYzAuNjM5LTMuOTUzLDAuODAzLTcuOTcsMC40ODItMTIuMDUyYy0wLjE2LTIuNTkxLTAuNDg4LTUuMTI2LTAuOTgyLTcuNjA1Yy0wLjczLTMuNjQ2LTEuODE4LTcuMTY1LTMuMjY2LTEwLjU0OWwtMC4wMDIsMC4wMDIgbC0zLjEwNy02LjIzM2wwLDBsLTAuMjgzLTAuMzM2SDEzLjA0N2wtMC4xOTUsMC4zMzZjLTEuMTM2LDEuOTgyLTIuMTcsNC4wNjEtMy4xMDUsNi4yMzRjLTAuMDE5LDAuMDQzLTAuMDM5LDAuMDg2LTAuMDU5LDAuMTI3IGMtMC44NzgsMi4wNzEtMS42MjIsNC4xOS0yLjIzMyw2LjM1OGMtMi41NzIsOC40NDgtMi45NzIsMTYuODk1LTEuMjE3LDI1LjM0MmMwLjA3NiwwLjQzLDAuMTU1LDAuODU4LDAuMjQxLDEuMjg1IGMwLjcyOSwzLjY0NiwxLjgxOCw3LjE2NCwzLjI2NCwxMC41NDlsMC4wMDQtMC4wMDFjMC45MzUsMi4xNzIsMS45NjksNC4yNTEsMy4xMDUsNi4yMzNsMCwwIEM0NS4wODgsODkuNTA1LDc3LjI3Nyw4OS41MDUsMTA5LjQ2Nyw4OS41MDVMMTA5LjQ2Nyw4OS41MDVMMTA5LjQ2Nyw4OS41MDV6IE0zMi4yNjksNDUuODE2YzQuNTQ4LDAsOC4wMzksMS4yMzMsMTAuNDcyLDMuNjk3IGMyLjQzMiwyLjQ2NCwzLjY0OSw2LjAxOSwzLjY0OSwxMC42NjNjMCw1LjUwMi0xLjQxNiw5LjczMi00LjI0NiwxMi42OWMtMi44MzEsMi45NTctNi44ODUsNC40MzctMTIuMTY2LDQuNDM3IGMtMy4zMDgsMC03LjE4OC0wLjE0NC0xMS42NC0wLjQzbDAuNDc3LTkuMDY0bC0wLjQ3Ny0yMS44MDNMMzIuMjY5LDQ1LjgxNkwzMi4yNjksNDUuODE2eiBNMzEuNzkxLDcwLjE5NSBjMS40OTYsMCwyLjYzMy0wLjU5OCwzLjQxMi0xLjc4OWMwLjc3OS0xLjE5MywxLjE2OS0zLjE1NywxLjE2OS01Ljg5M2MwLTIuMzIxLTAuMTYtNC4xNS0wLjQ3Ny01LjQ4NiBjLTAuMzE5LTEuMzM2LTAuODI5LTIuMjk3LTEuNTI3LTIuODg1Yy0wLjctMC41ODktMS42Ny0wLjg4My0yLjkxLTAuODgzYy0xLjIwOSwwLTIuNDAyLDAuMDYzLTMuNTc5LDAuMTlsLTAuMzMzLDEzLjQwNiBsMC4wOTUsMi45NThDMjkuNTQ5LDcwLjA2OCwzMC45MzMsNzAuMTk1LDMxLjc5MSw3MC4xOTVMMzEuNzkxLDcwLjE5NXogTTc2LjgwNyw2Ni44MDhsMC4zODEsMTAuMDY2aC0xMC40bC04LjY4Mi0xNi41MDZoLTAuNTczIGwtMC4wNDcsNS4zNDJsMC4zODIsMTEuMTY0aC04LjY4M2wwLjQ3Ny05LjA2NGwtMC40NzctMjEuODAzaDEwLjRsOC42ODIsMTYuNTA3aDAuNTcybC0wLjI4NS0xNi4xNzJsOC43NzctMC41MjVMNzYuODA3LDY2LjgwOCBMNzYuODA3LDY2LjgwOHogTTk1LDQ1LjQzNWMzLjAyLDAsNi4wMTIsMC41NTYsOC45NjksMS42N2wtMS41MjcsNy43NzZsLTEuMzM2LDAuNTczYy0xLjMzNi0wLjgyOC0yLjY1Ni0xLjQ4LTMuOTU5LTEuOTU3IGMtMS4zMDMtMC40NzYtMi4zNTUtMC43MTYtMy4xNDgtMC43MTZjLTAuNzMyLDAtMS4zMTMsMC4xNDQtMS43NDIsMC40M3MtMC42NDUsMC42NjgtMC42NDUsMS4xNDZjMCwwLjYwNCwwLjMyOCwxLjEyMiwwLjk3OSwxLjU1IGMwLjY1LDAuNDI5LDEuNzM4LDEuMDAzLDMuMjY4LDEuNjkzYzEuNzc3LDAuODAzLDMuMjQ0LDEuNTM1LDQuMzkxLDIuMjE4YzEuMTQzLDAuNjgzLDIuMTQ2LDEuNjI0LDMuMDA0LDIuODE0IGMwLjg1NywxLjE5MiwxLjI4OSwyLjY2NCwxLjI4OSw0LjQxM2MwLDEuOTQtMC41MzMsMy42OTctMS42LDUuMjcyYy0xLjA2NCwxLjU3NC0yLjU4NCwyLjgyNC00LjU1NSwzLjc0NSBzLTQuMjYyLDEuMzgzLTYuODcxLDEuMzgzYy0zLjI0MiwwLTYuNjQ2LTAuNjA0LTEwLjIwOS0xLjgxM2wxLjM4NS04LjMwMmwwLjk1My0wLjU3MmMxLjQ2MywxLjExMywzLjAyOSwxLjk5Niw0LjY5OSwyLjY0NyBjMS42NywwLjY1MiwzLjA2MSwwLjk3OSw0LjE3NCwwLjk3OWMwLjg5MSwwLDEuNTM3LTAuMTUyLDEuOTM0LTAuNDUzYzAuMzk1LTAuMzAyLDAuNTk2LTAuNjc2LDAuNTk2LTEuMTIgYzAtMC42NjktMC4zNDItMS4yMzUtMS4wMjUtMS42OTRjLTAuNjg0LTAuNDYxLTEuNzkxLTEuMDI3LTMuMzE2LTEuNjkzYy0xLjc0OC0wLjc2NC0zLjE4OC0xLjQ4OC00LjMxNi0yLjE3MiBjLTEuMTMxLTAuNjgzLTIuMTA5LTEuNjIzLTIuOTM0LTIuODE0Yy0wLjgyNi0xLjE5Mi0xLjI0Mi0yLjY2NC0xLjI0Mi00LjQxM2MwLTIuMDA0LDAuNTQzLTMuODEsMS42MjMtNS40MTUgYzEuMDgtMS42MDUsMi41OTItMi44NzIsNC41MzEtMy43OTJDOTAuMzA3LDQ1Ljg5Nyw5Mi41MTgsNDUuNDM1LDk1LDQ1LjQzNUw5NSw0NS40MzV6IE0xMDYuNTIxLDk0Ljg5MUg4OS41MDggYy01LjE2Niw3LjQ4MS0xMi4xMjMsMTQuODctMjAuODQsMjIuMTY3YzEuMzY3LTAuMTY5LDIuNzE5LTAuMzg4LDQuMDU3LTAuNjU0YzMuNjQ2LTAuNzI5LDcuMTY0LTEuODE3LDEwLjU0OS0zLjI2NWwtMC4wMDItMC4wMDQgYzMuNDQxLTEuNDgsNi42NDYtMy4yMTIsOS42MDktNS4xOTljMi45NjktMS45OTIsNS43MjEtNC4yNTUsOC4yNS02Ljc5NWwwLjAxLTAuMDFsMCwwIEMxMDMuMDk4LDk5LjE4MiwxMDQuODkxLDk3LjEwMSwxMDYuNTIxLDk0Ljg5MUwxMDYuNTIxLDk0Ljg5MUwxMDYuNTIxLDk0Ljg5MXogTTU0LjIxLDExNy4wNTggYy04LjcxNi03LjI5Ny0xNS42NzMtMTQuNjg2LTIwLjgzOC0yMi4xNjdIMTYuMzYxYzEuNjMxLDIuMjEsMy40MjMsNC4yOTEsNS4zNzksNi4yNGwwLjAxLDAuMDExdi0wLjAwMSBjMi41MywyLjU0LDUuMjgyLDQuODA0LDguMjUsNi43OTVjMi45NjIsMS45ODcsNi4xNjcsMy43MTksOS42MSw1LjE5OWMwLjA0MiwwLjAxOSwwLjA4NSwwLjAzOSwwLjEyNywwLjA1OSBjMy4zNDUsMS40Miw2LjgxOSwyLjQ4OCwxMC40MiwzLjIwOUM1MS40OTMsMTE2LjY3LDUyLjg0MywxMTYuODg5LDU0LjIxLDExNy4wNThMNTQuMjEsMTE3LjA1OEw1NC4yMSwxMTcuMDU4eiBNMTYuMzYxLDI3Ljk5MSBoMTcuOTM4YzUuMTA4LTcuMzYxLDExLjg2Mi0xNC43NjUsMjAuMjktMjIuMjEyYy0xLjQ5NSwwLjE3NS0yLjk3MywwLjQwOS00LjQzMSwwLjdjLTMuNjQ3LDAuNzI5LTcuMTY0LDEuODE4LTEwLjU0OSwzLjI2NSBsMCwwLjAwM2MtMy40NDIsMS40ODEtNi42NDcsMy4yMTEtOS42MDksNS4yYy0yLjk2OSwxLjk5Mi01LjcyLDQuMjU1LTguMjUsNi43OTRMMjEuNzQsMjEuNzVsMCwwIEMxOS43ODQsMjMuNzAxLDE3Ljk5MiwyNS43OCwxNi4zNjEsMjcuOTkxTDE2LjM2MSwyNy45OTFMMTYuMzYxLDI3Ljk5MXogTTY4LjI5MSw1Ljc3OGM4LjQyOCw3LjQ0NywxNS4xODIsMTQuODUxLDIwLjI5MSwyMi4yMTIgaDE3LjkzOWMtMS42MzMtMi4yMS0zLjQyNi00LjI5Mi01LjM4My02LjI0MWwtMC4wMS0wLjAwOWwwLDBjLTIuNTI3LTIuNTQtNS4yNzktNC44MDItOC4yNS02Ljc5NCBjLTIuOTYzLTEuOTg4LTYuMTY4LTMuNzE5LTkuNjA5LTUuMmMtMC4wNDMtMC4wMTktMC4wODYtMC4wMzktMC4xMjctMC4wNTljLTMuMzQ2LTEuNDE4LTYuODItMi40ODgtMTAuNDItMy4yMDggQzcxLjI2Niw2LjE4Nyw2OS43ODUsNS45NTQsNjguMjkxLDUuNzc4TDY4LjI5MSw1Ljc3OEw2OC4yOTEsNS43Nzh6IE00OS4xMDcsMS4xOThDNTMuMDk5LDAuMzk5LDU3LjIxMSwwLDYxLjQ0LDAgczguMzQxLDAuMzk5LDEyLjMzMywxLjE5OGMzLjkzNiwwLjc4OCw3Ljc1OCwxLjk2OSwxMS40NzUsMy41NDdjMC4wNDksMC4wMTgsMC4xLDAuMDM4LDAuMTQ2LDAuMDU4IGMzLjcwMywxLjU5NCw3LjE5NywzLjQ4NSwxMC40NzMsNS42ODVjMy4yNjgsMi4xOTIsNi4yOTEsNC42NzcsOS4wNjQsNy40NjFjMi43ODUsMi43NzUsNS4yNzEsNS43OTksNy40NjMsOS4wNjUgYzIuMTk3LDMuMjc1LDQuMDksNi43NjksNS42ODQsMTAuNDc0bC0wLjAwNCwwLjAwMWwwLjAwNCwwLjAwOWMxLjYwNywzLjc1OCwyLjgwOSw3LjYyNywzLjYwNSwxMS42MDkgYzAuNzk5LDMuOTkyLDEuMTk1LDguMTA0LDEuMTk1LDEyLjMzNGMwLDQuMjI5LTAuMzk2LDguMzQzLTEuMTk1LDEyLjMzNWMtMC43ODcsMy45MzItMS45NzMsNy43NTgtMy41NDcsMTEuNDcyIGMtMC4wMiwwLjA1LTAuMDM3LDAuMDk5LTAuMDYxLDAuMTQ3Yy0xLjU5NCwzLjcwNS0zLjQ4NCw3LjE5Ni01LjY4NCwxMC40NzJjLTIuMTkxLDMuMjY4LTQuNjc2LDYuMjktNy40NjEsOS4wNjUgYy0yLjc3NSwyLjc4NS01Ljc5OSw1LjI3MS05LjA2Niw3LjQ2MmMtMy4yNzMsMi4xOTgtNi43NjgsNC4wOTEtMTAuNDcxLDUuNjg0bC0wLjAwMi0wLjAwNGwtMC4wMSwwLjAwNCBjLTMuNzU4LDEuNjA2LTcuNjI5LDIuODA5LTExLjYwOSwzLjYwNGMtMy45OTIsMC44LTguMTA1LDEuMTk4LTEyLjMzMywxLjE5OGMtNC4yMjksMC04LjM0My0wLjM5OC0xMi4zMzQtMS4xOTggYy0zLjkzMy0wLjc4Ny03Ljc1OC0xLjk3LTExLjQ3NC0zLjU0NmMtMC4wNDktMC4wMTktMC4wOTgtMC4wMzctMC4xNDctMC4wNmMtMy43MDUtMS41OTMtNy4xOTctMy40ODQtMTAuNDcyLTUuNjg0IGMtMy4yNjYtMi4xOS02LjI5MS00LjY3Ny05LjA2NS03LjQ2MmMtMi43ODUtMi43NzUtNS4yNy01Ljc5OS03LjQ2MS05LjA2NGMtMi4xOTgtMy4yNzQtNC4wOS02Ljc2OC01LjY4NC0xMC40NzNsMC4wMDQtMC4wMDIgbC0wLjAwNC0wLjAwOWMtMS42MDYtMy43NTgtMi44MDgtNy42MjgtMy42MDQtMTEuNjA5QzAuNCw2OS43ODMsMCw2NS42NzEsMCw2MS40NGMwLTQuMjI5LDAuNC04LjM0MiwxLjE5OC0xMi4zMzQgYzAuNzg3LTMuOTMzLDEuOTctNy43NTcsMy41NDYtMTEuNDczYzAuMDE5LTAuMDQ5LDAuMDM4LTAuMSwwLjA1OC0wLjE0N2MxLjU5NC0zLjcwNSwzLjQ4NS03LjE5OCw1LjY4NC0xMC40NzQgYzIuMTkyLTMuMjY2LDQuNjc3LTYuMjksNy40NjEtOS4wNjVjMi43NzQtMi43ODUsNS43OTktNS4yNyw5LjA2NS03LjQ2MWMzLjI3NS0yLjE5OSw2Ljc2OS00LjA5LDEwLjQ3Mi01LjY4NWwwLjAwMSwwLjAwNCBsMC4wMDktMC4wMDRDNDEuMjU1LDMuMTk3LDQ1LjEyNiwxLjk5NSw0OS4xMDcsMS4xOThMNDkuMTA3LDEuMTk4TDQ5LjEwNywxLjE5OHogTTY0LjEzNSw5LjI2OHYxOC43MjNoMTcuODI2IEM3Ny4yNzUsMjEuODE1LDcxLjM0LDE1LjU3NSw2NC4xMzUsOS4yNjhMNjQuMTM1LDkuMjY4TDY0LjEzNSw5LjI2OHogTTY0LjEzNSw5NC44OTF2MTguOTUyIGM3LjY0NS02LjI4MywxMy45LTEyLjYwMSwxOC43NDYtMTguOTUySDY0LjEzNUw2NC4xMzUsOTQuODkxTDY0LjEzNSw5NC44OTF6IE01OC43NDgsMTEzLjg0NVY5NC44OTFINDAgQzQ0Ljg0MywxMDEuMjQxLDUxLjEwMSwxMDcuNTYyLDU4Ljc0OCwxMTMuODQ1TDU4Ljc0OCwxMTMuODQ1TDU4Ljc0OCwxMTMuODQ1eiBNNTguNzQ4LDI3Ljk5MVY5LjI2NiBjLTcuMjA3LDYuMzA3LTEzLjE0MywxMi41NDktMTcuODI3LDE4LjcyNUg1OC43NDhMNTguNzQ4LDI3Ljk5MUw1OC43NDgsMjcuOTkxeiIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "DNS" camel.apache.org/kamelet.namespace: "Networking" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "DNS Lookup Action" description: Lookup for a domain type: object types: out: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:dns" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[domain-name]}" steps: - setHeader: name: dns.domain simple: "${header[domain-name]}" - simple: "${header[ce-domainname]}" steps: - setHeader: name: dns.domain simple: "${header[ce-domainname]}" otherwise: steps: - setHeader: name: dns.domain simple: "${body}" - to: uri: "dns:lookup" - marshal: json: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: drop-field-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" spec: definition: title: "Drop Field Action" description: Removes a custom field by given name from the message in transit. required: - field properties: field: title: Field description: The name of the field to be removed type: string type: object dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:kafka" template: beans: - name: dropField type: "#class:org.apache.camel.component.kafka.transform.DropField" properties: field: '{{field}}' from: uri: kamelet:source steps: - choice: when: - simple: "${header[Content-Type]} == 'application/json'" steps: - setProperty: name: deserialized constant: "true" - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - process: ref: "{{dropField}}" - choice: when: - simple: "${exchangeProperty[deserialized]} == 'true'" steps: - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: drop-header-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "EIP" spec: definition: title: "Drop Header Action" description: "Remove an header from the message in transit." required: - name properties: name: title: Name description: The name of the header to be removed. type: string example: headername type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - removeHeader: name: "{{name}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: drop-headers-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "EIP" spec: definition: title: "Drop Headers Action" description: "Remove headers from the message in transit based on a pattern." required: - pattern properties: pattern: title: Pattern description: Name or pattern of headers to remove. The pattern is matched in the following order, 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive). type: string example: Camel* excludePattern: title: Exclusion Pattern description: Name or pattern of headers to not remove. The pattern is matched in the following order, 1 = exact match 2 = wildcard (pattern ends with a and the name starts with the pattern) 3 = regular expression (all of above is case in-sensitive). type: string example: Camel* type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - removeHeaders: pattern: "{{pattern}}" excludePattern: "{{?excludePattern}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: dropbox-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQzcHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQzIDQwIiB2ZXJzaW9uPSIxLjEiIGhlaWdodD0iNDBweCI+CiA8cGF0aCBkPSJtMTIuNSAwbC0xMi41IDguMSA4LjcgNyAxMi41LTcuOC04LjctNy4zem0tMTIuNSAyMS45bDEyLjUgOC4yIDguNy03LjMtMTIuNS03LjctOC43IDYuOHptMjEuMiAwLjlsOC44IDcuMyAxMi40LTguMS04LjYtNi45LTEyLjYgNy43em0yMS4yLTE0LjdsLTEyLjQtOC4xLTguOCA3LjMgMTIuNiA3LjggOC42LTd6bS0yMS4xIDE2LjNsLTguOCA3LjMtMy43LTIuNXYyLjhsMTIuNSA3LjUgMTIuNS03LjV2LTIuOGwtMy44IDIuNS04LjctNy4zeiIgZmlsbD0iIzAwN0VFNSIvPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Dropbox" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Dropbox Sink" description: Upload Files to Dropbox. required: - accessToken - clientIdentifier - remotePath - uploadMode type: object properties: accessToken: title: Dropbox Access Token description: The access Token to use to access Dropbox type: string format: password x-descriptors: - urn:camel:group:credentials clientIdentifier: title: Client Identifier description: Dropbox App client Identifier type: string x-descriptors: - urn:camel:group:credentials remotePath: title: Remote Path description: Original file or folder to work with type: string uploadMode: title: Upload Mode description: The uploading mode in case a file with the same name exists on Dropbox. Choose `add` or `force`. With `add`, the new file is renamed. With `force`, the existing file is overwritten. type: string default: add dependencies: - "camel:core" - "camel:dropbox" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelDropboxPutFileName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelDropboxPutFileName simple: "${header[ce-file]}" - to: uri: 'dropbox:put' parameters: accessToken: '{{accessToken}}' remotePath: '{{remotePath}}' clientIdentifier: '{{clientIdentifier}}' uploadMode: '{{uploadMode}}' --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: dropbox-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjQzcHgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDQzIDQwIiB2ZXJzaW9uPSIxLjEiIGhlaWdodD0iNDBweCI+CiA8cGF0aCBkPSJtMTIuNSAwbC0xMi41IDguMSA4LjcgNyAxMi41LTcuOC04LjctNy4zem0tMTIuNSAyMS45bDEyLjUgOC4yIDguNy03LjMtMTIuNS03LjctOC43IDYuOHptMjEuMiAwLjlsOC44IDcuMyAxMi40LTguMS04LjYtNi45LTEyLjYgNy43em0yMS4yLTE0LjdsLTEyLjQtOC4xLTguOCA3LjMgMTIuNiA3LjggOC42LTd6bS0yMS4xIDE2LjNsLTguOCA3LjMtMy43LTIuNXYyLjhsMTIuNSA3LjUgMTIuNS03LjV2LTIuOGwtMy44IDIuNS04LjctNy4zeiIgZmlsbD0iIzAwN0VFNSIvPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Dropbox" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Dropbox Source" description: Consume Files from Dropbox. required: - period - accessToken - clientIdentifier - remotePath - query type: object properties: period: title: Period between Polls description: The interval between fetches to the Dropbox remote path in milliseconds type: integer default: 10000 accessToken: title: Dropbox Access Token description: The access Token to use to access Dropbox type: string format: password x-descriptors: - urn:camel:group:credentials clientIdentifier: title: Client Identifier description: Dropbox App client Identifier type: string x-descriptors: - urn:camel:group:credentials remotePath: title: Remote Path description: Original file or folder to work with type: string query: title: Queries description: A space-separated list of sub-strings to search for. A file matches only if it contains all the sub-strings. If this option is not set, all files is matched. type: string dependencies: - "camel:dropbox" - "camel:kamelet" - "camel:core" - "camel:jsonpath" - "camel:timer" template: from: uri: "timer:dropbox-stream" parameters: period: "{{period}}" steps: - to: uri: "dropbox:search" parameters: accessToken: "{{accessToken}}" remotePath: "{{remotePath}}" clientIdentifier: "{{clientIdentifier}}" query: "{{query}}" - split: jsonpath: "$.*" steps: - setProperty: name: dropboxFileName simple: ${body.metadata.pathDisplay} - toD: "dropbox:get?accessToken={{accessToken}}&clientIdentifier={{clientIdentifier}}&remotePath=${exchangeProperty.dropboxFileName}" - to: "kamelet:sink" - toD: "dropbox:del?accessToken={{accessToken}}&clientIdentifier={{clientIdentifier}}&remotePath=${exchangeProperty.dropboxFileName}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: earthquake-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9JzEwMHB4JyB3aWR0aD0nMTAwcHgnICBmaWxsPSIjMDAwMDAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2ZXJzaW9uPSIxLjEiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwLjAwMyA3OS45OTciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMC4wMDMgNzkuOTk3IiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBkPSJNODEuNjUzLDQyLjk0Yy0xLjM4NywwLTIuNjY2LDAuNzY3LTMuMzE1LDEuOTkyTDcyLjk0Miw1NS4xbC02LjY0OS0xOS40NzljLTAuNTA4LTEuNDcyLTEuODY1LTIuNDgtMy40MjMtMi41MzQgIGMtMS42MDItMC4wNDYtMi45ODMsMC44NTktMy41ODksMi4yOTJsLTQuNTYxLDEwLjgzNGwtNy4yLTQzLjEyOGMtMC4zMy0xLjgxMi0yLjAyOS0zLjE4OC0zLjc3LTMuMDc5ICBjLTEuODQzLDAuMDQyLTMuMzg0LDEuMjUyLTMuNjM1LDMuMDc5bC02LjM1Nyw1MC4wNTJsLTUuMTU2LTI2Ljg2NGMtMC4zMDMtMS41ODktMS41OTQtMi44MDMtMy4yMDEtMy4wMSAgYy0xLjU3Ny0wLjIxLTMuMTYyLDAuNjM1LTMuODYyLDIuMDk3bC04LjQzNSwxNy41OEgwdjcuNDk3aDE1LjQ2NmMxLjQ0MywwLDIuNzU2LTAuODI1LDMuMzgxLTIuMTI5bDQuNTM2LTkuNDVsNy4zMTIsMzguMDk4ICBjMC4zMzksMS43NzEsMS44ODcsMy4wNDEsMy42ODIsMy4wNDFjMC4wMzIsMCwwLjA2NiwwLDAuMSwwYzEuODM2LTAuMDQ5LDMuMzY3LTEuNDIxLDMuNjE2LTMuMjQxbDYuMjU5LTQ5LjE4Mmw1LjI0NywzMi4zODUgIGMwLjI5NSwxLjYzMSwxLjYzMSwyLjg3NiwzLjI3NiwzLjA1N2MxLjY3LDAuMTYxLDMuMjIzLTAuNzQyLDMuODY3LTIuMjc1bDUuNjM1LTEzLjM3NGw2LjI3LDE4LjM1OSAgYzAuNDgzLDEuNDExLDEuNzYzLDIuNDA3LDMuMjUxLDIuNTI0YzEuNDk0LDAuMDgzLDIuOTEtMC42NTksMy42MTMtMS45ODJsOC4zOTgtMTUuODNoMTYuMDk0VjQyLjk0SDgxLjY1M3oiPjwvcGF0aD48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Earthquake" camel.apache.org/kamelet.namespace: "Dataset" labels: camel.apache.org/kamelet.type: "source" camel.apache.org/kamelet.verified: "true" spec: definition: title: "Earthquake Source" description: Get data about current earthquake events happening in the world using the USGS API type: object properties: period: title: Period between Polls description: The interval between fetches to the earthquake API in milliseconds. type: integer default: 60000 lookAhead: title: Look-ahead Minutes description: The amount of minutes to look ahead when starting the integration afresh. type: integer default: 120 types: out: mediaType: application/json dependencies: - "camel:caffeine" - "camel:http" - "camel:kamelet" - "camel:core" - "camel:jackson" - "camel:jsonpath" - "camel:timer" template: from: uri: "timer:earthquake" parameters: period: "{{period}}" steps: - setHeader: name: CamelCaffeineAction constant: GET - toD: "caffeine-cache:cache-${routeId}?key=lastUpdate" - choice: when: - simple: "${header.CamelCaffeineActionHasResult}" steps: - setProperty: name: lastUpdate simple: "${body}" otherwise: steps: - setProperty: name: lastUpdate simple: "${date-with-timezone:now-{{lookAhead}}m:UTC:yyyy-MM-dd'T'HH:mm:ss.SSS}" - setHeader: name: CamelHttpMethod constant: GET - toD: "https://earthquake.usgs.gov/fdsnws/event/1/query?format=geojson&updatedafter=${exchangeProperty.lastUpdate}&orderby=time-asc" - removeHeader: name: CamelHttpMethod - unmarshal: json: {} - setProperty: name: generated simple: "${body[metadata][generated]}" - setProperty: name: lastUpdate simple: "${date-with-timezone:exchangeProperty.generated:UTC:yyyy-MM-dd'T'HH:mm:ss.SSS}" - claimCheck: operation: Push - setBody: exchange-property: lastUpdate - setHeader: name: CamelCaffeineAction constant: PUT - toD: "caffeine-cache:cache-${routeId}?key=lastUpdate" - claimCheck: operation: Pop - split: jsonpath: "$.features[*]" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: elasticsearch-index-sink labels: camel.apache.org/kamelet.type: "sink" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "ElasticSearch" camel.apache.org/kamelet.namespace: "Search" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1NTAgMjUwIiB2aWV3Qm94PSI3Nyw4Myw0MTAsOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cGF0aCBkPSJtMTc4IDEwMi41aDMxM3Y0MWgtMzEzeiIgZmlsbD0ibm9uZSIvPgogPGcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyI+CiAgPHBhdGggZD0ibTE5My4zIDEzOS40Yy00IDAtNy4yLTEuMi05LjUtMy41cy0zLjQtNS42LTMuNC05LjdjMC00LjIgMS4xLTcuNiAzLjItMTBzNS0zLjYgOC43LTMuNmMzLjQgMCA2LjEgMSA4LjEgMy4xczMgNC45IDMgOC42djNoLTE3LjNjLjEgMi41LjggNC40IDIgNS44czMuMSAyIDUuNCAyYzEuNSAwIDMtLjEgNC4zLS40czIuNy0uOCA0LjMtMS40djQuNWMtMS4zLjYtMi43IDEuMS00LjEgMS40cy0zIC4yLTQuNy4yem0tMS4xLTIyLjZjLTEuOCAwLTMuMi42LTQuMiAxLjdzLTEuNyAyLjctMS45IDQuOWgxMS44YzAtMi4xLS41LTMuOC0xLjUtNC45cy0yLjQtMS43LTQuMi0xLjd6Ii8+CiAgPHBhdGggZD0ibTIxNS4xIDEzOWgtNS41di0zNi41aDUuNXoiLz4KICA8cGF0aCBkPSJtMjM5LjIgMTM5LTEuMS0zLjZoLS4yYy0xLjIgMS42LTIuNSAyLjctMy44IDMuMnMtMi45LjktNC45LjljLTIuNSAwLTQuNS0uNy02LTIuMXMtMi4xLTMuMy0yLjEtNS44YzAtMi43IDEtNC43IDMtNnM1LTIuMSA5LjEtMi4ybDQuNS0uMXYtMS40YzAtMS43LS40LTIuOS0xLjItMy43cy0yLTEuMi0zLjYtMS4yYy0xLjMgMC0yLjYuMi0zLjguNnMtMi40LjktMy41IDEuNGwtMS44LTMuOWMxLjQtLjcgMi45LTEuMyA0LjYtMS43czMuMi0uNiA0LjctLjZjMy4zIDAgNS44LjcgNy41IDIuMnMyLjUgMy43IDIuNSA2Ljh2MTcuMnptLTguMi0zLjhjMiAwIDMuNi0uNiA0LjgtMS43czEuOC0yLjcgMS44LTQuN3YtMi4ybC0zLjMuMWMtMi42LjEtNC41LjUtNS43IDEuM3MtMS44IDItMS44IDMuNmMwIDEuMi4zIDIuMSAxIDIuN3MxLjguOSAzLjIuOXoiLz4KICA8cGF0aCBkPSJtMjY4LjIgMTMxLjZjMCAyLjUtLjkgNC41LTIuOCA1LjhzLTQuNSAyLTcuOSAyYy0zLjUgMC02LjItLjUtOC4zLTEuNnYtNC44YzMgMS40IDUuOSAyLjEgOC41IDIuMSAzLjQgMCA1LjEtMSA1LjEtMy4xIDAtLjctLjItMS4yLS42LTEuNnMtMS0uOS0xLjktMS40LTIuMS0xLTMuNi0xLjZjLTMtMS4yLTUtMi4zLTYuMS0zLjVzLTEuNi0yLjctMS42LTQuNWMwLTIuMi45LTMuOSAyLjctNS4yczQuMi0xLjggNy4zLTEuOGMzIDAgNS45LjYgOC42IDEuOWwtMS44IDQuMWMtMi44LTEuMi01LjEtMS43LTcuMS0xLjctMi45IDAtNC40LjgtNC40IDIuNSAwIC44LjQgMS41IDEuMSAyLjFzMi40IDEuMyA1IDIuM2MyLjEuOCAzLjcgMS42IDQuNyAyLjNzMS43IDEuNSAyLjIgMi40Yy43IDEgLjkgMiAuOSAzLjN6Ii8+CiAgPHBhdGggZD0ibTI4My44IDEzNWMxLjMgMCAyLjctLjIgNC0uNnY0LjFjLS42LjMtMS40LjUtMi40LjdzLTIgLjMtMyAuM2MtNS4yIDAtNy44LTIuOC03LjgtOC4ydi0xNGgtMy41di0yLjRsMy44LTIgMS45LTUuNWgzLjR2NS44aDcuNHY0LjJoLTcuNHYxMy45YzAgMS4zLjMgMi4zIDEgMi45czEuNi44IDIuNi44eiIvPgogIDxwYXRoIGQ9Im0yOTIuNyAxMDYuMmMwLTEgLjMtMS43LjgtMi4zczEuMy0uOCAyLjMtLjggMS43LjMgMi4zLjguOCAxLjMuOCAyLjNjMCAuOS0uMyAxLjctLjggMi4ycy0xLjMuOC0yLjMuOC0xLjgtLjMtMi4zLS44LS44LTEuMy0uOC0yLjJ6bTUuOSAzMi44aC01LjV2LTI1LjloNS41eiIvPgogIDxwYXRoIGQ9Im0zMTYuOSAxMzkuNGMtMy45IDAtNi45LTEuMS04LjktMy40cy0zLjEtNS42LTMuMS05LjljMC00LjQgMS4xLTcuNyAzLjItMTAuMXM1LjItMy41IDkuMi0zLjVjMi43IDAgNS4yLjUgNy40IDEuNWwtMS43IDQuNGMtMi4zLS45LTQuMi0xLjQtNS44LTEuNC00LjUgMC02LjcgMy02LjcgOC45IDAgMi45LjYgNS4xIDEuNyA2LjZzMi44IDIuMiA0LjkgMi4yYzIuNSAwIDQuOC0uNiA3LTEuOHY0LjhjLTEgLjYtMiAxLTMuMiAxLjJzLTIuNC41LTQgLjV6Ii8+CiAgPHBhdGggZD0ibTM0Ny42IDEzMS42YzAgMi41LS45IDQuNS0yLjggNS44cy00LjUgMi03LjkgMmMtMy41IDAtNi4yLS41LTguMy0xLjZ2LTQuOGMzIDEuNCA1LjkgMi4xIDguNSAyLjEgMy40IDAgNS4xLTEgNS4xLTMuMSAwLS43LS4yLTEuMi0uNi0xLjZzLTEtLjktMS45LTEuNC0yLjEtMS0zLjYtMS42Yy0zLTEuMi01LTIuMy02LjEtMy41cy0xLjYtMi43LTEuNi00LjVjMC0yLjIuOS0zLjkgMi43LTUuMnM0LjItMS44IDcuMy0xLjhjMyAwIDUuOS42IDguNiAxLjlsLTEuOCA0LjFjLTIuOC0xLjItNS4xLTEuNy03LjEtMS43LTIuOSAwLTQuNC44LTQuNCAyLjUgMCAuOC40IDEuNSAxLjEgMi4xczIuNCAxLjMgNSAyLjNjMi4xLjggMy43IDEuNiA0LjcgMi4zczEuNyAxLjUgMi4yIDIuNGMuNyAxIC45IDIgLjkgMy4zeiIvPgogIDxwYXRoIGQ9Im0zNjQuOSAxMzkuNGMtNCAwLTcuMi0xLjItOS41LTMuNXMtMy40LTUuNi0zLjQtOS43YzAtNC4yIDEuMS03LjYgMy4yLTEwczUtMy42IDguNy0zLjZjMy40IDAgNi4xIDEgOC4xIDMuMXMzIDQuOSAzIDguNnYzaC0xNy4zYy4xIDIuNS44IDQuNCAyIDUuOHMzLjEgMiA1LjQgMmMxLjUgMCAzLS4xIDQuMy0uNHMyLjctLjggNC4zLTEuNHY0LjVjLTEuMy42LTIuNyAxLjEtNC4xIDEuNHMtMi45LjItNC43LjJ6bS0xLTIyLjZjLTEuOCAwLTMuMi42LTQuMiAxLjdzLTEuNyAyLjctMS45IDQuOWgxMS44YzAtMi4xLS41LTMuOC0xLjUtNC45cy0yLjUtMS43LTQuMi0xLjd6Ii8+CiAgPHBhdGggZD0ibTM5Ny40IDEzOS0xLjEtMy42aC0uMmMtMS4yIDEuNi0yLjUgMi43LTMuOCAzLjJzLTIuOS45LTQuOS45Yy0yLjUgMC00LjUtLjctNi0yLjFzLTIuMS0zLjMtMi4xLTUuOGMwLTIuNyAxLTQuNyAzLTZzNS0yLjEgOS4xLTIuMmw0LjUtLjF2LTEuNGMwLTEuNy0uNC0yLjktMS4yLTMuN3MtMi0xLjItMy42LTEuMmMtMS4zIDAtMi42LjItMy44LjZzLTIuNC45LTMuNSAxLjRsLTEuOC0zLjljMS40LS43IDIuOS0xLjMgNC42LTEuN3MzLjItLjYgNC43LS42YzMuMyAwIDUuOC43IDcuNSAyLjJzMi41IDMuNyAyLjUgNi44djE3LjJ6bS04LjItMy44YzIgMCAzLjYtLjYgNC44LTEuN3MxLjgtMi43IDEuOC00Ljd2LTIuMmwtMy4zLjFjLTIuNi4xLTQuNS41LTUuNyAxLjNzLTEuOCAyLTEuOCAzLjZjMCAxLjIuMyAyLjEgMSAyLjdzMS45LjkgMy4yLjl6Ii8+CiAgPHBhdGggZD0ibTQyMi4yIDExMi42YzEuMSAwIDIgLjEgMi43LjJsLS41IDUuMWMtLjgtLjItMS42LS4zLTIuNC0uMy0yLjIgMC00IC43LTUuNCAyLjJzLTIuMSAzLjMtMi4xIDUuNnYxMy42aC01LjV2LTI1LjloNC4zbC43IDQuNmguM2MuOS0xLjUgMi0yLjggMy40LTMuN3MyLjktMS40IDQuNS0xLjR6Ii8+CiAgPHBhdGggZD0ibTQ0MC4yIDEzOS40Yy0zLjkgMC02LjktMS4xLTguOS0zLjRzLTMuMS01LjYtMy4xLTkuOWMwLTQuNCAxLjEtNy43IDMuMi0xMC4xczUuMi0zLjUgOS4yLTMuNWMyLjcgMCA1LjIuNSA3LjQgMS41bC0xLjcgNC40Yy0yLjMtLjktNC4yLTEuNC01LjgtMS40LTQuNSAwLTYuNyAzLTYuNyA4LjkgMCAyLjkuNiA1LjEgMS43IDYuNnMyLjggMi4yIDQuOSAyLjJjMi41IDAgNC44LS42IDctMS44djQuOGMtMSAuNi0yIDEtMy4yIDEuMnMtMi40LjUtNCAuNXoiLz4KICA8cGF0aCBkPSJtNDc2LjMgMTM5aC01LjV2LTE2YzAtMi0uNC0zLjUtMS4yLTQuNXMtMi4xLTEuNS0zLjgtMS41Yy0yLjMgMC00IC43LTUuMSAyLjFzLTEuNiAzLjctMS42IDYuOXYxM2gtNS41di0zNi41aDUuNXY5LjNjMCAxLjUtLjEgMy4xLS4zIDQuOGguNGMuOC0xLjIgMS44LTIuMiAzLjEtMi45czIuOS0xIDQuNy0xYzYuMyAwIDkuNCAzLjIgOS40IDkuNXYxNi44eiIvPgogPC9nPgogPHBhdGggZD0ibTE0MS44IDExNS41aC0yMC45Yy4xLjUuMyAxIC40IDEuNC43IDIuNCAxLjEgNC45IDEuMyA3LjUuMSAxIC4xIDIuMS4xIDMuMXMwIDIuMS0uMSAzLjFjLS4yIDIuNi0uNiA1LjEtMS4zIDcuNS0uMS41LS4zIDEtLjQgMS40aDIwLjljNi42IDAgMTEuOS01LjQgMTEuOS0xMnMtNS4zLTEyLTExLjktMTJ6IiBmaWxsPSIjMDBhOWU1Ii8+CiA8cGF0aCBkPSJtMTIyLjYgMTMwLjZjLjEtMSAuMS0yLjEuMS0zLjFzMC0yLjEtLjEtMy4xYy0uMi0yLjYtLjYtNS4xLTEuMy03LjUtLjEtLjUtLjMtMS0uNC0xLjRoLTMyLjNjLTEuMiAzLjgtMS44IDcuOC0xLjggMTJzLjYgOC4yIDEuOCAxMmgzMi4zYy4xLS41LjMtMSAuNC0xLjQuNy0yLjQgMS4xLTQuOSAxLjMtNy41eiIgZmlsbD0iIzM1MzUzNSIvPgogPHBhdGggZD0ibTE0NS40IDE0My41aC0yNmMtLjggMS44LTEuNyAzLjUtMi43IDUuMS0xLjUgMi41LTMuMyA0LjctNS4zIDYuOC0uNy43LTEuNCAxLjMtMi4xIDItMS40IDEuMy0zIDIuNC00LjYgMy41IDYuMyA0LjIgMTMuOSA2LjYgMjIgNi42IDEzLjkgMCAyNi4xLTcuMSAzMy4zLTE3LjgtMy43LTMuOC04LjktNi4yLTE0LjYtNi4yeiIgZmlsbD0iIzAwYmZiMyIvPgogPHBhdGggZD0ibTExNi43IDE0OC42YzEtMS42IDEuOS0zLjMgMi43LTUuMWgtMjkuM2MzLjEgNy4xIDguMiAxMy4yIDE0LjcgMTcuNCAxLjYtMS4xIDMuMS0yLjIgNC42LTMuNS43LS42IDEuNC0xLjMgMi4xLTIgMS45LTIgMy43LTQuMyA1LjItNi44eiIgZmlsbD0iIzAxOWI4ZiIvPgogPHBhdGggZD0ibTExMS40IDk5LjZjLS43LS43LTEuNC0xLjMtMi4xLTItMS40LTEuMy0zLTIuNC00LjYtMy41LTYuNCA0LjItMTEuNSAxMC4zLTE0LjcgMTcuNGgyOS4zYy0uOC0xLjgtMS43LTMuNS0yLjctNS4xLTEuNC0yLjUtMy4yLTQuOC01LjItNi44eiIgZmlsbD0iI2Y5YjExMCIvPgogPHBhdGggZD0ibTEyNi43IDg3LjVjLTguMSAwLTE1LjcgMi40LTIyIDYuNiAxLjYgMS4xIDMuMSAyLjIgNC42IDMuNS43LjYgMS40IDEuMyAyLjEgMiAyIDIuMSAzLjggNC4zIDUuMyA2LjggMSAxLjYgMS45IDMuMyAyLjcgNS4xaDI2YzUuNyAwIDEwLjktMi40IDE0LjYtNi4yLTcuMi0xMC43LTE5LjQtMTcuOC0zMy4zLTE3Ljh6IiBmaWxsPSIjZmVkMTBhIi8+Cjwvc3ZnPg==" spec: definition: title: "ElasticSearch Index Sink" description: Stores JSON-formatted data into ElasticSearch. required: - clusterName - hostAddresses type: object properties: user: title: Username description: The username to connect to ElasticSearch. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to connect to ElasticSearch. type: string format: password x-descriptors: - urn:camel:group:credentials enableSSL: title: Enable SSL description: Specifies to connect by using SSL. type: boolean default: true hostAddresses: title: Host Addresses description: A comma-separated list of remote transport addresses in `ip:port format`. type: string example: quickstart-es-http:9200 clusterName: title: ElasticSearch Cluster Name description: The name of the ElasticSearch cluster. type: string example: quickstart indexName: title: Index in ElasticSearch description: The name of the ElasticSearch index. type: string example: data certificate: title: Certificate description: The Certificate for accessing the Elasticsearch cluster. You must encode this value in base64. type: string types: out: mediaType: text/plain in: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:elasticsearch" - "camel:gson" - "camel:bean" template: beans: - name: local-es type: "#class:org.apache.camel.component.es.ElasticsearchComponent" properties: user: "{{?user}}" password: "{{?password}}" from: uri: kamelet:source steps: - choice: when: - simple: "${header[indexId]}" steps: - setHeader: name: "indexId" simple: "${header[indexId]}" - simple: "${header[ce-indexid]}" steps: - setHeader: name: "indexId" simple: "${header[ce-indexid]}" - choice: when: - simple: "${header[indexName]}" steps: - setHeader: name: "indexName" simple: "${header[indexName]}" - simple: "${header[ce-indexname]}" steps: - setHeader: name: "indexName" simple: "${header[ce-indexname]}" - unmarshal: json: {} - to: uri: "{{local-es}}:{{clusterName}}" parameters: operation: "INDEX" hostAddresses: "{{hostAddresses}}" enableSSL: "{{enableSSL}}" indexName: "{{?indexName}}" certificatePath: "base64:{{?certificate}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: elasticsearch-search-source labels: camel.apache.org/kamelet.type: "source" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "ElasticSearch" camel.apache.org/kamelet.namespace: "Search" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1NTAgMjUwIiB2aWV3Qm94PSI3Nyw4Myw0MTAsOTAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cGF0aCBkPSJtMTc4IDEwMi41aDMxM3Y0MWgtMzEzeiIgZmlsbD0ibm9uZSIvPgogPGcgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyI+CiAgPHBhdGggZD0ibTE5My4zIDEzOS40Yy00IDAtNy4yLTEuMi05LjUtMy41cy0zLjQtNS42LTMuNC05LjdjMC00LjIgMS4xLTcuNiAzLjItMTBzNS0zLjYgOC43LTMuNmMzLjQgMCA2LjEgMSA4LjEgMy4xczMgNC45IDMgOC42djNoLTE3LjNjLjEgMi41LjggNC40IDIgNS44czMuMSAyIDUuNCAyYzEuNSAwIDMtLjEgNC4zLS40czIuNy0uOCA0LjMtMS40djQuNWMtMS4zLjYtMi43IDEuMS00LjEgMS40cy0zIC4yLTQuNy4yem0tMS4xLTIyLjZjLTEuOCAwLTMuMi42LTQuMiAxLjdzLTEuNyAyLjctMS45IDQuOWgxMS44YzAtMi4xLS41LTMuOC0xLjUtNC45cy0yLjQtMS43LTQuMi0xLjd6Ii8+CiAgPHBhdGggZD0ibTIxNS4xIDEzOWgtNS41di0zNi41aDUuNXoiLz4KICA8cGF0aCBkPSJtMjM5LjIgMTM5LTEuMS0zLjZoLS4yYy0xLjIgMS42LTIuNSAyLjctMy44IDMuMnMtMi45LjktNC45LjljLTIuNSAwLTQuNS0uNy02LTIuMXMtMi4xLTMuMy0yLjEtNS44YzAtMi43IDEtNC43IDMtNnM1LTIuMSA5LjEtMi4ybDQuNS0uMXYtMS40YzAtMS43LS40LTIuOS0xLjItMy43cy0yLTEuMi0zLjYtMS4yYy0xLjMgMC0yLjYuMi0zLjguNnMtMi40LjktMy41IDEuNGwtMS44LTMuOWMxLjQtLjcgMi45LTEuMyA0LjYtMS43czMuMi0uNiA0LjctLjZjMy4zIDAgNS44LjcgNy41IDIuMnMyLjUgMy43IDIuNSA2Ljh2MTcuMnptLTguMi0zLjhjMiAwIDMuNi0uNiA0LjgtMS43czEuOC0yLjcgMS44LTQuN3YtMi4ybC0zLjMuMWMtMi42LjEtNC41LjUtNS43IDEuM3MtMS44IDItMS44IDMuNmMwIDEuMi4zIDIuMSAxIDIuN3MxLjguOSAzLjIuOXoiLz4KICA8cGF0aCBkPSJtMjY4LjIgMTMxLjZjMCAyLjUtLjkgNC41LTIuOCA1LjhzLTQuNSAyLTcuOSAyYy0zLjUgMC02LjItLjUtOC4zLTEuNnYtNC44YzMgMS40IDUuOSAyLjEgOC41IDIuMSAzLjQgMCA1LjEtMSA1LjEtMy4xIDAtLjctLjItMS4yLS42LTEuNnMtMS0uOS0xLjktMS40LTIuMS0xLTMuNi0xLjZjLTMtMS4yLTUtMi4zLTYuMS0zLjVzLTEuNi0yLjctMS42LTQuNWMwLTIuMi45LTMuOSAyLjctNS4yczQuMi0xLjggNy4zLTEuOGMzIDAgNS45LjYgOC42IDEuOWwtMS44IDQuMWMtMi44LTEuMi01LjEtMS43LTcuMS0xLjctMi45IDAtNC40LjgtNC40IDIuNSAwIC44LjQgMS41IDEuMSAyLjFzMi40IDEuMyA1IDIuM2MyLjEuOCAzLjcgMS42IDQuNyAyLjNzMS43IDEuNSAyLjIgMi40Yy43IDEgLjkgMiAuOSAzLjN6Ii8+CiAgPHBhdGggZD0ibTI4My44IDEzNWMxLjMgMCAyLjctLjIgNC0uNnY0LjFjLS42LjMtMS40LjUtMi40LjdzLTIgLjMtMyAuM2MtNS4yIDAtNy44LTIuOC03LjgtOC4ydi0xNGgtMy41di0yLjRsMy44LTIgMS45LTUuNWgzLjR2NS44aDcuNHY0LjJoLTcuNHYxMy45YzAgMS4zLjMgMi4zIDEgMi45czEuNi44IDIuNi44eiIvPgogIDxwYXRoIGQ9Im0yOTIuNyAxMDYuMmMwLTEgLjMtMS43LjgtMi4zczEuMy0uOCAyLjMtLjggMS43LjMgMi4zLjguOCAxLjMuOCAyLjNjMCAuOS0uMyAxLjctLjggMi4ycy0xLjMuOC0yLjMuOC0xLjgtLjMtMi4zLS44LS44LTEuMy0uOC0yLjJ6bTUuOSAzMi44aC01LjV2LTI1LjloNS41eiIvPgogIDxwYXRoIGQ9Im0zMTYuOSAxMzkuNGMtMy45IDAtNi45LTEuMS04LjktMy40cy0zLjEtNS42LTMuMS05LjljMC00LjQgMS4xLTcuNyAzLjItMTAuMXM1LjItMy41IDkuMi0zLjVjMi43IDAgNS4yLjUgNy40IDEuNWwtMS43IDQuNGMtMi4zLS45LTQuMi0xLjQtNS44LTEuNC00LjUgMC02LjcgMy02LjcgOC45IDAgMi45LjYgNS4xIDEuNyA2LjZzMi44IDIuMiA0LjkgMi4yYzIuNSAwIDQuOC0uNiA3LTEuOHY0LjhjLTEgLjYtMiAxLTMuMiAxLjJzLTIuNC41LTQgLjV6Ii8+CiAgPHBhdGggZD0ibTM0Ny42IDEzMS42YzAgMi41LS45IDQuNS0yLjggNS44cy00LjUgMi03LjkgMmMtMy41IDAtNi4yLS41LTguMy0xLjZ2LTQuOGMzIDEuNCA1LjkgMi4xIDguNSAyLjEgMy40IDAgNS4xLTEgNS4xLTMuMSAwLS43LS4yLTEuMi0uNi0xLjZzLTEtLjktMS45LTEuNC0yLjEtMS0zLjYtMS42Yy0zLTEuMi01LTIuMy02LjEtMy41cy0xLjYtMi43LTEuNi00LjVjMC0yLjIuOS0zLjkgMi43LTUuMnM0LjItMS44IDcuMy0xLjhjMyAwIDUuOS42IDguNiAxLjlsLTEuOCA0LjFjLTIuOC0xLjItNS4xLTEuNy03LjEtMS43LTIuOSAwLTQuNC44LTQuNCAyLjUgMCAuOC40IDEuNSAxLjEgMi4xczIuNCAxLjMgNSAyLjNjMi4xLjggMy43IDEuNiA0LjcgMi4zczEuNyAxLjUgMi4yIDIuNGMuNyAxIC45IDIgLjkgMy4zeiIvPgogIDxwYXRoIGQ9Im0zNjQuOSAxMzkuNGMtNCAwLTcuMi0xLjItOS41LTMuNXMtMy40LTUuNi0zLjQtOS43YzAtNC4yIDEuMS03LjYgMy4yLTEwczUtMy42IDguNy0zLjZjMy40IDAgNi4xIDEgOC4xIDMuMXMzIDQuOSAzIDguNnYzaC0xNy4zYy4xIDIuNS44IDQuNCAyIDUuOHMzLjEgMiA1LjQgMmMxLjUgMCAzLS4xIDQuMy0uNHMyLjctLjggNC4zLTEuNHY0LjVjLTEuMy42LTIuNyAxLjEtNC4xIDEuNHMtMi45LjItNC43LjJ6bS0xLTIyLjZjLTEuOCAwLTMuMi42LTQuMiAxLjdzLTEuNyAyLjctMS45IDQuOWgxMS44YzAtMi4xLS41LTMuOC0xLjUtNC45cy0yLjUtMS43LTQuMi0xLjd6Ii8+CiAgPHBhdGggZD0ibTM5Ny40IDEzOS0xLjEtMy42aC0uMmMtMS4yIDEuNi0yLjUgMi43LTMuOCAzLjJzLTIuOS45LTQuOS45Yy0yLjUgMC00LjUtLjctNi0yLjFzLTIuMS0zLjMtMi4xLTUuOGMwLTIuNyAxLTQuNyAzLTZzNS0yLjEgOS4xLTIuMmw0LjUtLjF2LTEuNGMwLTEuNy0uNC0yLjktMS4yLTMuN3MtMi0xLjItMy42LTEuMmMtMS4zIDAtMi42LjItMy44LjZzLTIuNC45LTMuNSAxLjRsLTEuOC0zLjljMS40LS43IDIuOS0xLjMgNC42LTEuN3MzLjItLjYgNC43LS42YzMuMyAwIDUuOC43IDcuNSAyLjJzMi41IDMuNyAyLjUgNi44djE3LjJ6bS04LjItMy44YzIgMCAzLjYtLjYgNC44LTEuN3MxLjgtMi43IDEuOC00Ljd2LTIuMmwtMy4zLjFjLTIuNi4xLTQuNS41LTUuNyAxLjNzLTEuOCAyLTEuOCAzLjZjMCAxLjIuMyAyLjEgMSAyLjdzMS45LjkgMy4yLjl6Ii8+CiAgPHBhdGggZD0ibTQyMi4yIDExMi42YzEuMSAwIDIgLjEgMi43LjJsLS41IDUuMWMtLjgtLjItMS42LS4zLTIuNC0uMy0yLjIgMC00IC43LTUuNCAyLjJzLTIuMSAzLjMtMi4xIDUuNnYxMy42aC01LjV2LTI1LjloNC4zbC43IDQuNmguM2MuOS0xLjUgMi0yLjggMy40LTMuN3MyLjktMS40IDQuNS0xLjR6Ii8+CiAgPHBhdGggZD0ibTQ0MC4yIDEzOS40Yy0zLjkgMC02LjktMS4xLTguOS0zLjRzLTMuMS01LjYtMy4xLTkuOWMwLTQuNCAxLjEtNy43IDMuMi0xMC4xczUuMi0zLjUgOS4yLTMuNWMyLjcgMCA1LjIuNSA3LjQgMS41bC0xLjcgNC40Yy0yLjMtLjktNC4yLTEuNC01LjgtMS40LTQuNSAwLTYuNyAzLTYuNyA4LjkgMCAyLjkuNiA1LjEgMS43IDYuNnMyLjggMi4yIDQuOSAyLjJjMi41IDAgNC44LS42IDctMS44djQuOGMtMSAuNi0yIDEtMy4yIDEuMnMtMi40LjUtNCAuNXoiLz4KICA8cGF0aCBkPSJtNDc2LjMgMTM5aC01LjV2LTE2YzAtMi0uNC0zLjUtMS4yLTQuNXMtMi4xLTEuNS0zLjgtMS41Yy0yLjMgMC00IC43LTUuMSAyLjFzLTEuNiAzLjctMS42IDYuOXYxM2gtNS41di0zNi41aDUuNXY5LjNjMCAxLjUtLjEgMy4xLS4zIDQuOGguNGMuOC0xLjIgMS44LTIuMiAzLjEtMi45czIuOS0xIDQuNy0xYzYuMyAwIDkuNCAzLjIgOS40IDkuNXYxNi44eiIvPgogPC9nPgogPHBhdGggZD0ibTE0MS44IDExNS41aC0yMC45Yy4xLjUuMyAxIC40IDEuNC43IDIuNCAxLjEgNC45IDEuMyA3LjUuMSAxIC4xIDIuMS4xIDMuMXMwIDIuMS0uMSAzLjFjLS4yIDIuNi0uNiA1LjEtMS4zIDcuNS0uMS41LS4zIDEtLjQgMS40aDIwLjljNi42IDAgMTEuOS01LjQgMTEuOS0xMnMtNS4zLTEyLTExLjktMTJ6IiBmaWxsPSIjMDBhOWU1Ii8+CiA8cGF0aCBkPSJtMTIyLjYgMTMwLjZjLjEtMSAuMS0yLjEuMS0zLjFzMC0yLjEtLjEtMy4xYy0uMi0yLjYtLjYtNS4xLTEuMy03LjUtLjEtLjUtLjMtMS0uNC0xLjRoLTMyLjNjLTEuMiAzLjgtMS44IDcuOC0xLjggMTJzLjYgOC4yIDEuOCAxMmgzMi4zYy4xLS41LjMtMSAuNC0xLjQuNy0yLjQgMS4xLTQuOSAxLjMtNy41eiIgZmlsbD0iIzM1MzUzNSIvPgogPHBhdGggZD0ibTE0NS40IDE0My41aC0yNmMtLjggMS44LTEuNyAzLjUtMi43IDUuMS0xLjUgMi41LTMuMyA0LjctNS4zIDYuOC0uNy43LTEuNCAxLjMtMi4xIDItMS40IDEuMy0zIDIuNC00LjYgMy41IDYuMyA0LjIgMTMuOSA2LjYgMjIgNi42IDEzLjkgMCAyNi4xLTcuMSAzMy4zLTE3LjgtMy43LTMuOC04LjktNi4yLTE0LjYtNi4yeiIgZmlsbD0iIzAwYmZiMyIvPgogPHBhdGggZD0ibTExNi43IDE0OC42YzEtMS42IDEuOS0zLjMgMi43LTUuMWgtMjkuM2MzLjEgNy4xIDguMiAxMy4yIDE0LjcgMTcuNCAxLjYtMS4xIDMuMS0yLjIgNC42LTMuNS43LS42IDEuNC0xLjMgMi4xLTIgMS45LTIgMy43LTQuMyA1LjItNi44eiIgZmlsbD0iIzAxOWI4ZiIvPgogPHBhdGggZD0ibTExMS40IDk5LjZjLS43LS43LTEuNC0xLjMtMi4xLTItMS40LTEuMy0zLTIuNC00LjYtMy41LTYuNCA0LjItMTEuNSAxMC4zLTE0LjcgMTcuNGgyOS4zYy0uOC0xLjgtMS43LTMuNS0yLjctNS4xLTEuNC0yLjUtMy4yLTQuOC01LjItNi44eiIgZmlsbD0iI2Y5YjExMCIvPgogPHBhdGggZD0ibTEyNi43IDg3LjVjLTguMSAwLTE1LjcgMi40LTIyIDYuNiAxLjYgMS4xIDMuMSAyLjIgNC42IDMuNS43LjYgMS40IDEuMyAyLjEgMiAyIDIuMSAzLjggNC4zIDUuMyA2LjggMSAxLjYgMS45IDMuMyAyLjcgNS4xaDI2YzUuNyAwIDEwLjktMi40IDE0LjYtNi4yLTcuMi0xMC43LTE5LjQtMTcuOC0zMy4zLTE3Ljh6IiBmaWxsPSIjZmVkMTBhIi8+Cjwvc3ZnPg==" spec: definition: title: "ElasticSearch Search Source" description: Search data on ElasticSearch required: - query - clusterName - indexName - hostAddresses type: object properties: period: title: Period description: The time interval between two searches type: integer default: 1000 query: title: Query description: The query we want to use to search on ElasticSearch. type: string user: title: Username description: Username to connect to ElasticSearch. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to connect to ElasticSearch. type: string format: password x-descriptors: - urn:camel:group:credentials enableSSL: title: Enable SSL description: Do we want to connect using SSL? type: boolean default: true hostAddresses: title: Host Addresses description: Comma separated list with ip:port formatted remote transport addresses to use. type: string indexName: title: Index in ElasticSearch description: The name of the index to act against. type: string clusterName: title: ElasticSearch Cluster Name description: The name of the cluster. type: string certificate: title: Certificate description: The Certificate for accessing the Elasticsearch cluster. You must encode this value in base64. type: string types: out: mediaType: application/json dependencies: - "camel:core" - "camel:kamelet" - "camel:timer" - "camel:elasticsearch" - "camel:gson" template: beans: - name: local-es type: "#class:org.apache.camel.component.es.ElasticsearchComponent" properties: user: "{{?user}}" password: "{{?password}}" from: uri: timer:tick parameters: period: "{{period}}" steps: - setBody: constant: "{{query?nested=false}}" - to: uri: "{{local-es}}:{{clusterName}}" parameters: operation: "SEARCH" indexName: "{{indexName}}" hostAddresses: "{{hostAddresses}}" enableSSL: "{{enableSSL}}" certificatePath: "base64:{{?certificate}}" - marshal: json: library: Gson - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: exec-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBzdGFuZGFsb25lPSJubyI/Pgo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDIwMDEwOTA0Ly9FTiIKICJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy1TVkctMjAwMTA5MDQvRFREL3N2ZzEwLmR0ZCI+CjxzdmcgdmVyc2lvbj0iMS4wIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiB3aWR0aD0iMTI4MC4wMDAwMDBwdCIgaGVpZ2h0PSIxMDEyLjAwMDAwMHB0IiB2aWV3Qm94PSIwIDAgMTI4MC4wMDAwMDAgMTAxMi4wMDAwMDAiCiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCBtZWV0Ij4KPG1ldGFkYXRhPgpDcmVhdGVkIGJ5IHBvdHJhY2UgMS4xNSwgd3JpdHRlbiBieSBQZXRlciBTZWxpbmdlciAyMDAxLTIwMTcKPC9tZXRhZGF0YT4KPGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsMTAxMi4wMDAwMDApIHNjYWxlKDAuMTAwMDAwLC0wLjEwMDAwMCkiCmZpbGw9IiMwMDAwMDAiIHN0cm9rZT0ibm9uZSI+CjxwYXRoIGQ9Ik04NTg1IDEwMTE0IGMtMTYgLTMgLTIyMSAtMzQgLTQ1NSAtNzAgLTg5MCAtMTM2IC0xNDg3IC0yMjcgLTIxMjUKLTMyNCAtMzYzIC01NSAtODk0IC0xMzYgLTExODAgLTE4MCAtMjg2IC00NCAtODE3IC0xMjUgLTExODAgLTE4MCAtMzYzIC01NQotODk2IC0xMzcgLTExODUgLTE4MSAtNTQ4IC04MyAtNjE5IC05NiAtNzExIC0xMzUgLTIwOCAtODYgLTM2NSAtMjM3IC00NjkKLTQ0OSAtOTEgLTE4NyAtMTA3IC0zMjUgLTcxIC02MTYgMTIgLTk2IDU3IC00NzggMTAxIC04NDkgNDQgLTM3MSAxMjMgLTEwMzMKMTc1IC0xNDcwIDUyIC00MzcgMTgwIC0xNTE1IDI4NSAtMjM5NSAxMDQgLTg4MCAxOTQgLTE2MjggMjAwIC0xNjYzIDI4IC0xNjQKMTI5IC0zNTEgMjU2IC00NzMgMzggLTM2IDc4IC03MiA4OSAtODAgMjcgLTE4IDc3IC0xMDQgNjcgLTExNCAtNCAtNSAtMSAtNSA3CjAgOSA1IDEyIDMgOCAtNiAtMiAtOCA5IC0zOSAyNSAtNjkgODAgLTE0NCAyMTEgLTI2NiAzNzEgLTM0NSAxMDYgLTUyIDE3NQotNzEgMzA1IC04NiAxMzMgLTE1IDIyMyAtNiA3NjAgNzYgMTYwIDI1IDQyNiA2NSA1OTAgOTAgMzc4IDU4IDgwNyAxMjQgMTE4MAoxODAgMTYwIDI1IDQyNCA2NSA1ODUgOTAgMTYwIDI0IDQyNiA2NSA1OTAgOTAgMTYzIDI1IDQzMCA2NSA1OTIgOTAgMTYyIDI1CjQyOCA2NSA1OTAgOTAgMTYyIDI1IDQyNyA2NSA1ODggOTAgMTYwIDI0IDQyNyA2NSA1OTIgOTAgMTE0NyAxNzUgMTE1NiAxNzYKMTMyMCAyNTQgMjY0IDEyNSA0NDIgMzY1IDQ4NSA2NDkgNiAzNyA4IDE2NiA2IDI4NyBsLTMgMjIwIC05MSA0MzAgYy04NyA0MTIKLTE5MyA5MTkgLTM0MiAxNjMwIC0zOCAxODIgLTE0MSA2NzQgLTIyOSAxMDk1IC04OCA0MjEgLTI2NCAxMjYyIC0zOTEgMTg2OQotMTI3IDYwNyAtMjU1IDEyMjIgLTI4NSAxMzY1IC0zMSAxNDQgLTY3IDMwMSAtODEgMzUwIC04OSAzMTAgLTMzMCA1NDYgLTY0Mgo2MjcgLTc2IDIwIC0yNjQgMzMgLTMyNyAyM3ogbTIzODIgLTc3MTYgYy0zIC03IC01IC0yIC01IDEyIDAgMTQgMiAxOSA1IDEzIDIKLTcgMiAtMTkgMCAtMjV6IG0tODU0MiAtMTQ5OCBjMTAgLTExIDE2IC0yMCAxMyAtMjAgLTMgMCAtMTMgOSAtMjMgMjAgLTEwIDExCi0xNiAyMCAtMTMgMjAgMyAwIDEzIC05IDIzIC0yMHoiLz4KPC9nPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Exec" camel.apache.org/kamelet.namespace: "System" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Exec Sink" description: Execute system commands required: - executable type: object properties: executable: title: Executable Command description: The command to execute type: string dependencies: - "camel:core" - "camel:exec" - "camel:kamelet" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[args]}" steps: - setHeader: name: CamelExecCommandArgs simple: "${header[args]}" - simple: "${header[ce-args]}" steps: - setHeader: name: CamelExecCommandArgs simple: "${header[ce-args]}" - to: uri: "exec:{{executable}}" - setBody: simple: "${body.stdout}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: extract-field-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" spec: definition: title: "Extract Field Action" description: Extract a field from the message body. required: - field properties: field: title: Field description: The name of the field to extract type: string headerOutput: title: Header Output description: If enable the action will store the extracted field in an header named CamelKameletsExtractFieldName type: boolean default: false headerOutputName: title: Header Output Name description: A custom name for the header containing the extracted field default: "none" type: string strictHeaderCheck: title: Strict Header Check description: If enabled the action will check if the header output name (custom or default) has been used already in the exchange. If so, the extracted field is stored in the message body, if not, the extracted field is stored in the selected header (custom or default). type: boolean default: false trimField: title: Trim Field description: If enabled we return the Raw extracted field type: boolean default: false type: object dependencies: - "camel:kamelet" - "camel:core" - "camel:jackson" - "camel:kafka" template: beans: - name: extractField type: "#class:org.apache.camel.component.kafka.transform.ExtractField" properties: field: '{{field}}' headerOutput: '{{headerOutput}}' headerOutputName: '{{headerOutputName}}' strictHeaderCheck: '{{strictHeaderCheck}}' trimField: '{{trimField}}' from: uri: kamelet:source steps: - choice: when: - simple: "${header[Content-Type]} == 'application/json'" steps: - setProperty: name: deserialized constant: "true" - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - process: ref: "{{extractField}}" - choice: when: - simple: "${exchangeProperty[trimField]} == 'false'" steps: - choice: when: - simple: "${exchangeProperty[deserialized]} == 'true'" steps: - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: fhir-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTUuMiAzMDAiPjxzdHlsZT48L3N0eWxlPjxnIGlkPSJMYXllcl8yIj48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjYyLjY0NCIgeTE9IjI2OC4yMDEiIHgyPSIzMC43MjEiIHkyPSI4Ny4xNTUiPjxzdG9wIG9mZnNldD0iLjE1NCIgc3RvcC1jb2xvcj0iI2ZmZTQwZSIvPjxzdG9wIG9mZnNldD0iLjkxIiBzdG9wLWNvbG9yPSIjZTEwZTE5Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNNzkuNiA3OC41bC00NCAzOC41Uy04IDE1MS43IDEuMyAyMDUuOWMwIDAgMi45IDI5LjIgNDMuMyA2NS41IDAgMC0zMy00MS4xLTI2LjYtOTAuMlM3OS4zIDgzLjcgNzkuNiA3OC41eiIgZmlsbD0idXJsKCNTVkdJRF8xXykiLz48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ijg0LjI3MiIgeTE9IjI5OC4xNjciIHgyPSI4NC4yNzIiIHkyPSIwIj48c3RvcCBvZmZzZXQ9Ii4xNTQiIHN0b3AtY29sb3I9IiNmZmU0MGUiLz48c3RvcCBvZmZzZXQ9Ii4xOTciIHN0b3AtY29sb3I9IiNmZWRiMGUiLz48c3RvcCBvZmZzZXQ9Ii4yNjciIHN0b3AtY29sb3I9IiNmYWMzMTAiLz48c3RvcCBvZmZzZXQ9Ii4zNTUiIHN0b3AtY29sb3I9IiNmNTliMTIiLz48c3RvcCBvZmZzZXQ9Ii40NTkiIHN0b3AtY29sb3I9IiNlZDY0MTUiLz48c3RvcCBvZmZzZXQ9Ii41NzQiIHN0b3AtY29sb3I9IiNlMzFmMTgiLz48c3RvcCBvZmZzZXQ9Ii42IiBzdG9wLWNvbG9yPSIjZTEwZTE5Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMTEzIDBzMTIuNSA0My44LTE4LjMgNzkuOS0xMzAuNCAxMzkuMy00LjYgMjE4LjNjMCAwLTM4LTQ0LjggNy4yLTExMS43QzEzOC41IDEyNS44IDE2MS43IDg0IDExMyAweiIgZmlsbD0idXJsKCNTVkdJRF8yXykiLz48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzNfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE0MC41MzUiIHkxPSIzMDAiIHgyPSIxNDAuNTM1IiB5Mj0iODUuMjc2Ij48c3RvcCBvZmZzZXQ9Ii4xNTQiIHN0b3AtY29sb3I9IiNmZmU0MGUiLz48c3RvcCBvZmZzZXQ9Ii4yMSIgc3RvcC1jb2xvcj0iI2ZlZGIwZSIvPjxzdG9wIG9mZnNldD0iLjMiIHN0b3AtY29sb3I9IiNmYWMzMTAiLz48c3RvcCBvZmZzZXQ9Ii40MTUiIHN0b3AtY29sb3I9IiNmNTliMTIiLz48c3RvcCBvZmZzZXQ9Ii41NDkiIHN0b3AtY29sb3I9IiNlZDY0MTUiLz48c3RvcCBvZmZzZXQ9Ii42OTciIHN0b3AtY29sb3I9IiNlMzFmMTgiLz48c3RvcCBvZmZzZXQ9Ii43MzEiIHN0b3AtY29sb3I9IiNlMTBlMTkiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xNDkuNyA4NS4zczYuMSAzMi43LTI1LjMgODQuMS01NC45IDYxLjktMjQuMSAxMzAuNmMwIDAgODMuMSA1LjggOTUtOTMuNCAwIDAtOS4zIDIxLjUtMzEuMSAzNC43LS4xLS4xIDQwLjctNjkuNC0xNC41LTE1NnoiIGZpbGw9InVybCgjU1ZHSURfM18pIi8+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF80XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMjMuNTE2IiB5MT0iMjkzLjg0MSIgeDI9IjEyMy41MTYiIHkyPSIxNzEuMjY5Ij48c3RvcCBvZmZzZXQ9Ii4wNzMiIHN0b3AtY29sb3I9IiNmZmY4ZGEiLz48c3RvcCBvZmZzZXQ9Ii41MzYiIHN0b3AtY29sb3I9IiNmZmVlNmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmU0MDAiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xMDMuMyAyOTMuOHMtMTguOS0zNS4zIDYuMS02Ny43IDI3LjMtMjUuNyAzOS44LTU0LjljMCAwIDEwLjMgNTAuNy0yMy4xIDEwMC4xIDAgMCAxMS4zLTEuNiAyNC42LTkuOS0uMSAwLTEzLjQgMjkuNi00Ny40IDMyLjR6IiBmaWxsPSJ1cmwoI1NWR0lEXzRfKSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfNV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iODUuODI3IiB5MT0iMjg0LjIxNCIgeDI9Ijg1LjgyNyIgeTI9IjYwLjU2OSI+PHN0b3Agb2Zmc2V0PSIuMTI1IiBzdG9wLWNvbG9yPSIjZmZmOGRhIi8+PHN0b3Agb2Zmc2V0PSIuNTExIiBzdG9wLWNvbG9yPSIjZmZlNDAwIi8+PHN0b3Agb2Zmc2V0PSIuNTkzIiBzdG9wLWNvbG9yPSIjZmJjZTAzIi8+PHN0b3Agb2Zmc2V0PSIuNzY0IiBzdG9wLWNvbG9yPSIjZjI5NTBjIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZTMzZTE5Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNNzkuMyAyODQuMnMtMjEuOC0yMi4xLTkuMy03My44IDU2LjYtNDYuMiA1My4zLTE0OS44YzAgMC05IDQ2LjItMzcuNiA2OC4zLTI4LjUgMjIuMi02NC44IDk1LTYuNCAxNTUuM3oiIGZpbGw9InVybCgjU1ZHSURfNV8pIi8+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5My42OTMiIHkxPSIyNjkuMjI5IiB4Mj0iOTMuNjkzIiB5Mj0iMi45NDgiPjxzdG9wIG9mZnNldD0iLjA3MyIgc3RvcC1jb2xvcj0iI2ZmZjhkYSIvPjxzdG9wIG9mZnNldD0iLjI0OCIgc3RvcC1jb2xvcj0iI2ZmZjNhMCIvPjxzdG9wIG9mZnNldD0iLjQ0IiBzdG9wLWNvbG9yPSIjZmZlZDY3Ii8+PHN0b3Agb2Zmc2V0PSIuNjE5IiBzdG9wLWNvbG9yPSIjZmZlOTNiIi8+PHN0b3Agb2Zmc2V0PSIuNzc3IiBzdG9wLWNvbG9yPSIjZmZlNjFiIi8+PHN0b3Agb2Zmc2V0PSIuOTA5IiBzdG9wLWNvbG9yPSIjZmZlNTA3Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZlNDAwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMTM3LjcgMi45czEzLjggMzguMi0yMS44IDkzLjEtODQgOTItNDguMSAxNzMuMmMwIDAtMzUuNC00NS41LTEzLjktOTcuNSAyNi43LTY0LjEgOTYuMi05Ny41IDgzLjgtMTY4Ljh6IiBmaWxsPSJ1cmwoI1NWR0lEXzZfKSIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "FHIR" camel.apache.org/kamelet.namespace: "API" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "FHIR Sink" description: Forward data to a FHIR endpoint. required: - serverUrl - methodName type: object properties: apiName: title: API Name description: "What kind of operation to perform." type: string enum: ["CAPABILITIES", "CREATE", "DELETE", "HISTORY", "LOAD_PAGE", "META", "OPERATION", "PATCH", "READ", "SEARCH", "TRANSACTION", "UPDATE", "VALIDATE"] methodName: title: Method Name description: "What sub operation to use for the selected operation." type: string encoding: title: Encoding description: "Encoding to use for all request. One of: [JSON] [XML]." type: string default: "JSON" fhirVersion: title: FHIR Version description: "The FHIR Version to use." type: string enum: ["DSTU2", "DSTU2_HL7ORG", "DSTU2_1", "DSTU3", "R4", "R5"] default: "R4" log: title: Log description: "Will log every requests and responses." type: boolean default: false prettyPrint: title: Pretty Print description: "Pretty print all request." type: boolean default: false serverUrl: title: Server URL description: The FHIR server base URL. type: string lazyStartProducer: title: Lazy Start Producer description: "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." type: boolean default: false proxyHost: title: Proxy Host description: The proxy host. type: string proxyPassword: title: Proxy Password description: The proxy password. type: string format: password x-descriptors: - urn:camel:group:credentials proxyPort: title: Proxy Port description: The proxy port. type: integer proxyUser: title: Proxy User description: The proxy username. type: string x-descriptors: - urn:camel:group:credentials accessToken: title: Access Token description: OAuth access token. type: string format: password x-descriptors: - urn:camel:group:credentials username: title: Username description: Username to use for basic authentication. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to use for basic authentication. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:fhir" - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - choice: precondition: true when: - simple: "${properties:encoding} =~ 'JSON'" steps: - unmarshal: fhirJson: fhirVersion: "{{fhirVersion}}" prettyPrint: "{{prettyPrint}}" - simple: "${properties:encoding} =~ 'XML'" steps: - unmarshal: fhirXml: fhirVersion: "{{fhirVersion}}" prettyPrint: "{{prettyPrint}}" - to: uri: "fhir://{{apiName}}/{{methodName}}" parameters: serverUrl: "{{serverUrl}}" inBody: "resource" encoding: "{{encoding}}" fhirVersion: "{{fhirVersion}}" log: "{{log}}" prettyPrint: "{{prettyPrint}}" lazyStartProducer: "{{lazyStartProducer}}" proxyHost: "{{?proxyHost}}" proxyPassword: "{{?proxyPassword}}" proxyPort: "{{?proxyPort}}" proxyUser: "{{?proxyUser}}" accessToken: "{{?accessToken}}" username: "{{?username}}" password: "{{?password}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: fhir-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTUuMiAzMDAiPjxzdHlsZT48L3N0eWxlPjxnIGlkPSJMYXllcl8yIj48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzFfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjYyLjY0NCIgeTE9IjI2OC4yMDEiIHgyPSIzMC43MjEiIHkyPSI4Ny4xNTUiPjxzdG9wIG9mZnNldD0iLjE1NCIgc3RvcC1jb2xvcj0iI2ZmZTQwZSIvPjxzdG9wIG9mZnNldD0iLjkxIiBzdG9wLWNvbG9yPSIjZTEwZTE5Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNNzkuNiA3OC41bC00NCAzOC41Uy04IDE1MS43IDEuMyAyMDUuOWMwIDAgMi45IDI5LjIgNDMuMyA2NS41IDAgMC0zMy00MS4xLTI2LjYtOTAuMlM3OS4zIDgzLjcgNzkuNiA3OC41eiIgZmlsbD0idXJsKCNTVkdJRF8xXykiLz48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzJfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9Ijg0LjI3MiIgeTE9IjI5OC4xNjciIHgyPSI4NC4yNzIiIHkyPSIwIj48c3RvcCBvZmZzZXQ9Ii4xNTQiIHN0b3AtY29sb3I9IiNmZmU0MGUiLz48c3RvcCBvZmZzZXQ9Ii4xOTciIHN0b3AtY29sb3I9IiNmZWRiMGUiLz48c3RvcCBvZmZzZXQ9Ii4yNjciIHN0b3AtY29sb3I9IiNmYWMzMTAiLz48c3RvcCBvZmZzZXQ9Ii4zNTUiIHN0b3AtY29sb3I9IiNmNTliMTIiLz48c3RvcCBvZmZzZXQ9Ii40NTkiIHN0b3AtY29sb3I9IiNlZDY0MTUiLz48c3RvcCBvZmZzZXQ9Ii41NzQiIHN0b3AtY29sb3I9IiNlMzFmMTgiLz48c3RvcCBvZmZzZXQ9Ii42IiBzdG9wLWNvbG9yPSIjZTEwZTE5Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMTEzIDBzMTIuNSA0My44LTE4LjMgNzkuOS0xMzAuNCAxMzkuMy00LjYgMjE4LjNjMCAwLTM4LTQ0LjggNy4yLTExMS43QzEzOC41IDEyNS44IDE2MS43IDg0IDExMyAweiIgZmlsbD0idXJsKCNTVkdJRF8yXykiLz48bGluZWFyR3JhZGllbnQgaWQ9IlNWR0lEXzNfIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjE0MC41MzUiIHkxPSIzMDAiIHgyPSIxNDAuNTM1IiB5Mj0iODUuMjc2Ij48c3RvcCBvZmZzZXQ9Ii4xNTQiIHN0b3AtY29sb3I9IiNmZmU0MGUiLz48c3RvcCBvZmZzZXQ9Ii4yMSIgc3RvcC1jb2xvcj0iI2ZlZGIwZSIvPjxzdG9wIG9mZnNldD0iLjMiIHN0b3AtY29sb3I9IiNmYWMzMTAiLz48c3RvcCBvZmZzZXQ9Ii40MTUiIHN0b3AtY29sb3I9IiNmNTliMTIiLz48c3RvcCBvZmZzZXQ9Ii41NDkiIHN0b3AtY29sb3I9IiNlZDY0MTUiLz48c3RvcCBvZmZzZXQ9Ii42OTciIHN0b3AtY29sb3I9IiNlMzFmMTgiLz48c3RvcCBvZmZzZXQ9Ii43MzEiIHN0b3AtY29sb3I9IiNlMTBlMTkiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xNDkuNyA4NS4zczYuMSAzMi43LTI1LjMgODQuMS01NC45IDYxLjktMjQuMSAxMzAuNmMwIDAgODMuMSA1LjggOTUtOTMuNCAwIDAtOS4zIDIxLjUtMzEuMSAzNC43LS4xLS4xIDQwLjctNjkuNC0xNC41LTE1NnoiIGZpbGw9InVybCgjU1ZHSURfM18pIi8+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF80XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSIxMjMuNTE2IiB5MT0iMjkzLjg0MSIgeDI9IjEyMy41MTYiIHkyPSIxNzEuMjY5Ij48c3RvcCBvZmZzZXQ9Ii4wNzMiIHN0b3AtY29sb3I9IiNmZmY4ZGEiLz48c3RvcCBvZmZzZXQ9Ii41MzYiIHN0b3AtY29sb3I9IiNmZmVlNmYiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmU0MDAiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Ik0xMDMuMyAyOTMuOHMtMTguOS0zNS4zIDYuMS02Ny43IDI3LjMtMjUuNyAzOS44LTU0LjljMCAwIDEwLjMgNTAuNy0yMy4xIDEwMC4xIDAgMCAxMS4zLTEuNiAyNC42LTkuOS0uMSAwLTEzLjQgMjkuNi00Ny40IDMyLjR6IiBmaWxsPSJ1cmwoI1NWR0lEXzRfKSIvPjxsaW5lYXJHcmFkaWVudCBpZD0iU1ZHSURfNV8iIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiB4MT0iODUuODI3IiB5MT0iMjg0LjIxNCIgeDI9Ijg1LjgyNyIgeTI9IjYwLjU2OSI+PHN0b3Agb2Zmc2V0PSIuMTI1IiBzdG9wLWNvbG9yPSIjZmZmOGRhIi8+PHN0b3Agb2Zmc2V0PSIuNTExIiBzdG9wLWNvbG9yPSIjZmZlNDAwIi8+PHN0b3Agb2Zmc2V0PSIuNTkzIiBzdG9wLWNvbG9yPSIjZmJjZTAzIi8+PHN0b3Agb2Zmc2V0PSIuNzY0IiBzdG9wLWNvbG9yPSIjZjI5NTBjIi8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZTMzZTE5Ii8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNNzkuMyAyODQuMnMtMjEuOC0yMi4xLTkuMy03My44IDU2LjYtNDYuMiA1My4zLTE0OS44YzAgMC05IDQ2LjItMzcuNiA2OC4zLTI4LjUgMjIuMi02NC44IDk1LTYuNCAxNTUuM3oiIGZpbGw9InVybCgjU1ZHSURfNV8pIi8+PGxpbmVhckdyYWRpZW50IGlkPSJTVkdJRF82XyIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI5My42OTMiIHkxPSIyNjkuMjI5IiB4Mj0iOTMuNjkzIiB5Mj0iMi45NDgiPjxzdG9wIG9mZnNldD0iLjA3MyIgc3RvcC1jb2xvcj0iI2ZmZjhkYSIvPjxzdG9wIG9mZnNldD0iLjI0OCIgc3RvcC1jb2xvcj0iI2ZmZjNhMCIvPjxzdG9wIG9mZnNldD0iLjQ0IiBzdG9wLWNvbG9yPSIjZmZlZDY3Ii8+PHN0b3Agb2Zmc2V0PSIuNjE5IiBzdG9wLWNvbG9yPSIjZmZlOTNiIi8+PHN0b3Agb2Zmc2V0PSIuNzc3IiBzdG9wLWNvbG9yPSIjZmZlNjFiIi8+PHN0b3Agb2Zmc2V0PSIuOTA5IiBzdG9wLWNvbG9yPSIjZmZlNTA3Ii8+PHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjZmZlNDAwIi8+PC9saW5lYXJHcmFkaWVudD48cGF0aCBkPSJNMTM3LjcgMi45czEzLjggMzguMi0yMS44IDkzLjEtODQgOTItNDguMSAxNzMuMmMwIDAtMzUuNC00NS41LTEzLjktOTcuNSAyNi43LTY0LjEgOTYuMi05Ny41IDgzLjgtMTY4Ljh6IiBmaWxsPSJ1cmwoI1NWR0lEXzZfKSIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "FHIR" camel.apache.org/kamelet.namespace: "API" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "FHIR Source" description: Receive data from FHIR server. required: - serverUrl - username - password type: object properties: serverUrl: title: Server URL description: The FHIR server url. type: string url: title: URL description: The FHIR resource type url. type: string default: "/Patient" encoding: title: Encoding description: Encoding to use for all request. type: string default: "JSON" enum: ["JSON", "XML"] fhirVersion: title: FHIR Version description: The FHIR Version to use. type: string default: "R4" enum: ["DSTU2", "DSTU2_HL7ORG", "DSTU2_1", "DSTU3", "R4", "R5"] username: title: Username description: The username to access the FHIR server. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the FHIR server. type: string format: password x-descriptors: - urn:camel:group:credentials prettyPrint: title: Json Pretty Print description: Define if the Json must be pretty print or not. type: boolean default: true types: out: mediaType: application/json dependencies: - "camel:fhir" - "camel:kamelet" template: from: uri: "fhir://search/searchByUrl" parameters: serverUrl: "{{serverUrl}}" url: "{{url}}" encoding: "{{encoding}}" fhirVersion: "{{fhirVersion}}" prettyPrint: "{{prettyPrint}}" username: "{{username}}" password: "{{password}}" steps: - marshal: fhirJson: fhirVersion: "{{fhirVersion}}" prettyPrint: "{{prettyPrint}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: file-watch-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJDYXBhXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB2aWV3Qm94PSIwIDAgMzY4LjU1MyAzNjguNTUzIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCAzNjguNTUzIDM2OC41NTM7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNMjM5LjY4LDBINDIuNjk1djM2OC41NTNoMjgzLjE2NFY4Ni44MTFMMjM5LjY4LDB6IE0yNDQuMDU3LDI1LjdsNTYuMjg4LDU2LjcwMWgtNTYuMjg4VjI1Ljd6IE01Ny42OTUsMzUzLjU1M1YxNQ0KCQkJaDE3MS4zNjJ2ODIuNDAxaDgxLjgwMnYyNTYuMTUxSDU3LjY5NVYzNTMuNTUzeiIvPg0KCQk8cmVjdCB4PSI4Ni40MzUiIHk9IjgyLjQwMSIgd2lkdGg9IjEyMS44NzUiIGhlaWdodD0iMTUiLz4NCgkJPHJlY3QgeD0iODYuNDM1IiB5PSIxNTEuMTIyIiB3aWR0aD0iMTk1LjY4NSIgaGVpZ2h0PSIxNSIvPg0KCQk8cmVjdCB4PSI4Ni40MzUiIHk9IjIxOS44NDMiIHdpZHRoPSIxOTUuNjg1IiBoZWlnaHQ9IjE1Ii8+DQoJCTxyZWN0IHg9Ijg2LjQzNSIgeT0iMjg4LjU2MyIgd2lkdGg9IjE5NS42ODUiIGhlaWdodD0iMTUiLz4NCgk8L2c+DQoJPGc+DQoJPC9nPg0KCTxnPg0KCTwvZz4NCgk8Zz4NCgk8L2c+DQoJPGc+DQoJPC9nPg0KCTxnPg0KCTwvZz4NCgk8Zz4NCgk8L2c+DQoJPGc+DQoJPC9nPg0KCTxnPg0KCTwvZz4NCgk8Zz4NCgk8L2c+DQoJPGc+DQoJPC9nPg0KCTxnPg0KCTwvZz4NCgk8Zz4NCgk8L2c+DQoJPGc+DQoJPC9nPg0KCTxnPg0KCTwvZz4NCgk8Zz4NCgk8L2c+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "File Watch" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "File Watch Source" description: Receive events related to a file or folder. It may require a volume mounting on Kubernetes. required: - filePath - events type: object properties: filePath: title: Path to Watch description: Path of file or folder to watch type: string events: title: Events description: The type of events to consume type: string default: "CREATE,MODIFY,DELETE" dependencies: - "camel:file-watch" - "camel:kamelet" template: from: uri: "file-watch:{{filePath}}" parameters: events: "{{events}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: freemarker-template-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Freemarker Template Action" description: Apply a Freemarker Template. required: - template type: object properties: template: title: Template description: The inline template type: string example: "file:////template.ftl" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:freemarker" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "freemarker:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ftp-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMjEuMSAzMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIyMS4xIDMwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzgzMkVBQjt9DQoJLnN0MXtmaWxsOiNCQUJBQkE7fQ0KCS5zdDJ7ZmlsbDpub25lO30NCgkuc3Qze2ZpbGw6IzhEQzYzRjt9DQoJLnN0NHtmaWxsOiMwRjlCRDc7fQ0KCS5zdDV7ZmlsbDojRkZGRkZGO30NCgkuc3Q2e2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQoJLnN0N3tmaWxsOiMxREExRjI7fQ0KCS5zdDh7ZmlsbDojM0Q1QTk4O30NCgkuc3Q5e2ZpbGw6IzIzMUYyMDt9DQoJLnN0MTB7ZmlsbDojMDA3QkI1O30NCgkuc3QxMXtmaWxsOiNEQzRFNDE7fQ0KCS5zdDEye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzE4MTYxNjt9DQoJLnN0MTN7ZmlsbDojMTgxNjE2O30NCgkuc3QxNHtmaWxsOiNGMkYyRjI7fQ0KCS5zdDE1e2ZpbGw6I0UzRTNFMzt9DQoJLnN0MTZ7ZmlsbDojRDU0QjNEO30NCgkuc3QxN3tmaWxsOiNENzJCMjc7fQ0KCS5zdDE4e29wYWNpdHk6MC41NjtmaWxsOnVybCgjU1ZHSURfMV8pO30NCgkuc3QxOXtmaWxsOiM5MkQ0MDA7fQ0KCS5zdDIwe2ZpbGw6IzAwQjlFNDt9DQoJLnN0MjF7Zm9udC1mYW1pbHk6J09wZW5TYW5zLUJvbGQnO30NCgkuc3QyMntmb250LXNpemU6NDUuNDExNXB4O30NCgkuc3QyM3tmaWxsOiMyQjM5OTA7fQ0KCS5zdDI0e2ZpbGw6IzNGOUMzNTt9DQoJLnN0MjV7ZmlsbDojOEZDRUQ4O30NCgkuc3QyNntmaWxsOiNEMjFGMjE7fQ0KCS5zdDI3e2ZpbGw6I0Q2RDZENjt9DQoJLnN0Mjh7ZmlsbDojRjFGMUYxO30NCgkuc3QyOXtmaWxsOiNDMzIyNjU7fQ0KCS5zdDMwe2ZpbGw6IzhDMzEyMzt9DQoJLnN0MzF7ZmlsbDojRTA1MjQzO30NCgkuc3QzMntmaWxsOiM1RTFGMTg7fQ0KCS5zdDMze2ZpbGw6I0YyQjBBOTt9DQoJLnN0MzR7ZmlsbDojQ0FDQ0NFO30NCgkuc3QzNXtmaWxsOiNBMUFGREI7fQ0KCS5zdDM2e2ZpbGw6IzAwMjA4Nzt9DQo8L3N0eWxlPg0KPGc+DQoJPGc+DQoJCTxjaXJjbGUgY2xhc3M9InN0MjAiIGN4PSIxMTEuNiIgY3k9IjE5MS43IiByPSI4OC42Ii8+DQoJCTxnPg0KCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExMC42LDk5LjljLTUwLjgsMC05Mi4yLDQxLjQtOTIuMiw5Mi4yYzAsNTAuOSw0MS40LDkyLjIsOTIuMiw5Mi4yaDBjNTAuOCwwLDkyLjItNDEuNCw5Mi4yLTkyLjINCgkJCQlDMjAyLjgsMTQxLjMsMTYxLjQsOTkuOSwxMTAuNiw5OS45eiBNMTgzLjIsMTQzLjljLTcsNi44LTEzLjMsMTQuNC0xOC42LDIyLjdjLTAuNS0wLjEtMC45LTAuMi0xLjQtMC4yYy0xLDAtMS45LDAuMy0yLjgsMC43DQoJCQkJYy00LjYtNi41LTguNC0xMy4xLTExLjMtMTkuNmMxLjctMS4xLDIuOC0zLDIuOC01LjJjMC0wLjYtMC4xLTEuMS0wLjMtMS43YzYuMy00LjQsMTEuNy05LjMsMTYtMTQuMw0KCQkJCUMxNzMuNiwxMzEuNCwxNzguOCwxMzcuMywxODMuMiwxNDMuOXogTTY4LjgsMTY5LjFjNC44LTAuNSw5LjYtMS4yLDE0LjUtMmMxLDIsMy4xLDMuNCw1LjUsMy40aDBjMC44LDAsMS43LTAuMiwyLjQtMC41DQoJCQkJYzYuMiw4LjksMTMuNSwxNy4xLDIxLjgsMjQuNGM4LjcsNy42LDE4LjIsMTQsMjguMSwxOS4xYy0wLjEsMC41LTAuMiwxLTAuMiwxLjVjMCwyLjQsMS40LDQuNSwzLjQsNS41DQoJCQkJYy0xLjEsNy4yLTEuNiwxNC41LTEuNSwyMS42Yy0xLjIsMC4zLTIuMywwLjgtMy4yLDEuNmMtOS4zLTYuNi0xOS40LTEyLjItMzAuMS0xNi41Yy0xMi45LTUuMi0yNi4yLTguNC0zOS41LTkuNw0KCQkJCWMtMC44LTMuNS0zLjktNi4xLTcuNi02LjJjLTEtNi4zLTEuNS0xMi43LTEuNS0xOS4yYzAtNS40LDAuNC0xMC43LDEuMS0xNS45QzY1LjUsMTc1LjcsNjguMywxNzIuOCw2OC44LDE2OS4xeiBNNjQuNywxNjEuMg0KCQkJCWMyLjMtOC43LDUuNS0xNyw5LjctMjQuN2MyLjYsNy45LDYsMTUuNywxMC4yLDIzLjFjLTEuMSwxLTEuOCwyLjMtMiwzLjhjLTQuOCwwLjgtOS41LDEuNS0xNC4zLDEuOQ0KCQkJCUM2Ny43LDE2My42LDY2LjQsMTYyLjEsNjQuNywxNjEuMnogTTE0Ni41LDIwOC45Yy0xLjgsMC4yLTMuNCwxLjEtNC40LDIuNGMtOS43LTUtMTktMTEuMi0yNy42LTE4LjdjLTguMi03LjItMTUuMy0xNS4zLTIxLjQtMjQNCgkJCQljMS0xLDEuNi0yLjQsMS43LTMuOWMxNy40LTQuMSwzMy40LTEwLjMsNDYuNy0xNy44YzEuMSwxLDIuNSwxLjYsNC4xLDEuNmgwYzAuNCwwLDAuOCwwLDEuMi0wLjFjMi45LDYuOCw2LjgsMTMuNiwxMS42LDIwLjMNCgkJCQljLTAuOSwxLjEtMS41LDIuNS0xLjUsNGMwLDEuNiwwLjYsMy4xLDEuNyw0LjJjLTMuNyw3LTYuOSwxNC40LTkuMywyMi4yQzE0OC4yLDIwMi4zLDE0Ny4zLDIwNS42LDE0Ni41LDIwOC45eiBNMTQ0LjQsMTExLjcNCgkJCQljNy40LDMuMSwxNC4yLDcuMiwyMC40LDEyLjFjLTQuMSw0LjctOS4yLDkuMy0xNS4zLDEzLjVjLTEuMS0wLjgtMi40LTEuNC0zLjgtMS40Yy0wLjIsMC0wLjMsMC0wLjUsMC4xDQoJCQkJQzE0Mi45LDEyNy4zLDE0Mi41LDExOC45LDE0NC40LDExMS43eiBNMTEwLjYsMTA0LjljMTEuMSwwLDIxLjcsMi4xLDMxLjUsNS45Yy0yLjEsNy43LTEuNywxNi42LDAuNywyNS45Yy0yLDEtMy40LDMuMS0zLjQsNS41DQoJCQkJYzAsMC41LDAuMSwwLjksMC4yLDEuNGMtMTMsNy40LTI4LjcsMTMuNS00NS42LDE3LjVjLTEuMS0xLjgtMy4xLTMuMS01LjMtMy4xYy0wLjcsMC0xLjQsMC4xLTIsMC40Yy00LjUtNy45LTguMS0xNi4zLTEwLjctMjQuOA0KCQkJCWM2LjQtMTEsMTQuNi0yMC41LDI0LjQtMjguMUMxMDMuOCwxMDUuMSwxMDcuMSwxMDQuOSwxMTAuNiwxMDQuOXogTTkzLjIsMTA2LjZjLTcuMSw2LjMtMTMuNCwxMy43LTE4LjUsMjINCgkJCQljLTEuMi00LjktMi4xLTkuOC0yLjctMTQuN0M3OC42LDExMC42LDg1LjgsMTA4LjEsOTMuMiwxMDYuNnogTTY5LjYsMTE1LjFjMC43LDUuNSwxLjgsMTEsMy4zLDE2LjVjLTUuMSw4LjgtOS4xLDE4LjQtMTEuOCwyOC41DQoJCQkJYy0wLjEsMC0wLjMsMC0wLjQsMGMtMy44LDAtNi45LDIuNi03LjgsNi4yYy04LjgsMC4xLTE3LjItMC41LTI1LjEtMS44QzM1LDE0My4yLDUwLjEsMTI1LjUsNjkuNiwxMTUuMXogTTIzLjMsMTkyLjENCgkJCQljMC04LjMsMS4yLTE2LjQsMy40LTI0YzcuNiwxLjMsMTUuNywyLDI0LjEsMmMwLjcsMCwxLjMsMCwyLTAuMWMwLjYsMi43LDIuNiw0LjksNS4yLDUuOGMtMC43LDUuMy0xLjEsMTAuOC0xLjEsMTYuMw0KCQkJCWMwLDYuOCwwLjUsMTMuNSwxLjYsMjBjLTIsMC45LTMuNiwyLjctNC4zLDQuOGMtOC45LDAuMS0xNy43LDEuMS0yNi40LDNDMjUsMjExLjIsMjMuMywyMDEuOCwyMy4zLDE5Mi4xeiBNMjkuMiwyMjMuNA0KCQkJCWM4LjItMS43LDE2LjUtMi42LDI0LjktMi44YzAuNiwzLjksMy45LDYuOCw4LDYuOGgwYzAsMCwwLjEsMCwwLjEsMGM1LjgsMTkuOCwxNi42LDM3LjIsMzEuMSw1MC4xDQoJCQkJQzYzLjgsMjcxLjYsMzkuOCwyNTAuOSwyOS4yLDIyMy40eiBNMTEwLjYsMjc5LjNMMTEwLjYsMjc5LjNjLTMuNCwwLTYuOC0wLjItMTAuMi0wLjZDODQsMjY2LDcyLDI0Ny43LDY1LjcsMjI2LjYNCgkJCQljMi0xLjEsMy42LTIuOSw0LjEtNS4yYzEyLjksMS4zLDI1LjcsNC40LDM4LjIsOS40YzEwLjQsNC4yLDIwLjIsOS42LDI5LjIsMTZjLTAuNSwxLTAuNywyLjEtMC43LDMuM2MwLDQuMiwzLjMsNy43LDcuNSw4DQoJCQkJYzAuNiw0LjUsMS41LDksMi43LDEzLjRDMTM1LjYsMjc2LjUsMTIzLjQsMjc5LjMsMTEwLjYsMjc5LjN6IE0xNTAsMjY5LjljLTEtNC4xLTEuOC04LjItMi40LTEyLjNjMC42LTAuMywxLjItMC42LDEuOC0xDQoJCQkJYzMuMSwyLjgsNiw1LjcsOC43LDguN0MxNTUuNSwyNjYuOSwxNTIuOCwyNjguNCwxNTAsMjY5Ljl6IE0xNjEuMywyNjNjLTMtMy4zLTYuMS02LjQtOS41LTkuNGMwLjUtMS4xLDAuOS0yLjMsMC45LTMuNg0KCQkJCWMwLTMuOC0yLjctNy02LjItNy44Yy0wLjEtNywwLjQtMTQsMS41LTIxYzEuOC0wLjIsMy4zLTEuMiw0LjMtMi42YzEyLjQsNC45LDI1LjMsNy44LDM4LjMsOC41QzE4NC4xLDI0MS41LDE3NCwyNTMuOSwxNjEuMywyNjMNCgkJCQl6IE0xOTEuNSwyMjQuNmMtMTMtMC42LTI1LjktMy40LTM4LjMtOC4zYzAuMS0wLjQsMC4xLTAuOCwwLjEtMS4yYzAtMi4zLTEuMy00LjMtMy4xLTUuNGMwLjgtMy4yLDEuNi02LjQsMi42LTkuNQ0KCQkJCWMyLjQtNy41LDUuNC0xNC42LDktMjEuNGMwLjQsMC4xLDAuOSwwLjEsMS4zLDAuMmgwYzEsMCwyLTAuMywyLjktMC43YzIuMSwyLjQsNC4zLDQuOCw2LjYsNy4xYzcuNiw3LjQsMTUuOCwxMy42LDI0LjMsMTguNg0KCQkJCUMxOTYsMjExLDE5NC4yLDIxOCwxOTEuNSwyMjQuNnogTTE3NC40LDE4My40Yy0yLjMtMi4yLTQuNC00LjUtNi41LTYuOGMwLjktMS4xLDEuNC0yLjQsMS40LTMuOWMwLTEuNi0wLjYtMy0xLjYtNC4xDQoJCQkJYzUuMS03LjgsMTAuOS0xNSwxNy41LTIxLjRjOCwxMy4xLDEyLjUsMjguNiwxMi41LDQ1YzAsMy0wLjIsNi0wLjUsOC45QzE4OS4zLDE5Ni4yLDE4MS42LDE5MC40LDE3NC40LDE4My40eiIvPg0KCQk8L2c+DQoJPC9nPg0KCTxnPg0KCQk8Zz4NCgkJCTxwYXRoIGQ9Ik0xNjguMSwxLjNjLTAuOC0wLjktMi0xLjMtMy4xLTEuM0g0LjRDMiwwLDAsMiwwLDQuNHYyOTEuM2MwLDIuNCwyLDQuNCw0LjQsNC40aDIxMi40YzIuNCwwLDQuNC0yLDQuNC00LjRWNTcuOA0KCQkJCWMwLTEuMS0wLjQtMi4yLTEuMi0zTDE2OC4xLDEuM3ogTTE2OS4zLDE1LjJsMzkuNSw0MC43aC0zOS41VjE1LjJ6IE04LjcsOC43aDE1MS44djQ5LjZjMCwwLjMsMC4xLDAuNiwwLjIsMC45DQoJCQkJYy0wLjEsMC4zLTAuMiwwLjYtMC4yLDAuOWMwLDIuNCwyLDQuNCw0LjQsNC40aDQ3LjV2MjI2LjdIOC43VjguN3oiLz4NCgkJPC9nPg0KCTwvZz4NCgk8cmVjdCB4PSIwIiB5PSI0OC40IiBjbGFzcz0ic3QyIiB3aWR0aD0iMjIxLjciIGhlaWdodD0iNzYiLz4NCgk8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDc3LjgyNTIgODIuOTEyOCkiIGNsYXNzPSJzdDkgc3QyMSBzdDIyIj5mdHA8L3RleHQ+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "FTP" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "FTP Sink" description: Send data to an FTP server. required: - connectionHost - connectionPort - username - password - directoryName type: object properties: connectionHost: title: Connection Host description: The hostname of the FTP server. type: string connectionPort: title: Connection Port description: The port of the FTP server. type: string default: 21 username: title: Username description: The username to access the FTP server. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the FTP server. type: string format: password x-descriptors: - urn:camel:group:credentials directoryName: title: Directory Name description: The starting directory. type: string passiveMode: title: Passive Mode description: Specifies to use passive mode connection. type: boolean default: false fileExist: title: File Existence description: How to behave in case of file already existent. type: string default: Override enum: ["Override", "Append", "Fail", "Ignore"] binary: title: Binary description: Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). type: boolean default: false autoCreate: title: Autocreate Missing Directories description: Automatically create the directory the files should be written to. type: boolean default: true dependencies: - "camel:ftp" - "camel:core" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelFileName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelFileName simple: "${header[ce-file]}" - to: uri: "ftp:{{username}}@{{connectionHost}}:{{connectionPort}}/{{directoryName}}" parameters: password: "{{password}}" passiveMode: "{{passiveMode}}" fileExist: "{{fileExist}}" binary: "{{binary}}" autoCreate: "{{autoCreate}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ftp-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMjEuMSAzMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIyMS4xIDMwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzgzMkVBQjt9DQoJLnN0MXtmaWxsOiNCQUJBQkE7fQ0KCS5zdDJ7ZmlsbDpub25lO30NCgkuc3Qze2ZpbGw6IzhEQzYzRjt9DQoJLnN0NHtmaWxsOiMwRjlCRDc7fQ0KCS5zdDV7ZmlsbDojRkZGRkZGO30NCgkuc3Q2e2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQoJLnN0N3tmaWxsOiMxREExRjI7fQ0KCS5zdDh7ZmlsbDojM0Q1QTk4O30NCgkuc3Q5e2ZpbGw6IzIzMUYyMDt9DQoJLnN0MTB7ZmlsbDojMDA3QkI1O30NCgkuc3QxMXtmaWxsOiNEQzRFNDE7fQ0KCS5zdDEye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzE4MTYxNjt9DQoJLnN0MTN7ZmlsbDojMTgxNjE2O30NCgkuc3QxNHtmaWxsOiNGMkYyRjI7fQ0KCS5zdDE1e2ZpbGw6I0UzRTNFMzt9DQoJLnN0MTZ7ZmlsbDojRDU0QjNEO30NCgkuc3QxN3tmaWxsOiNENzJCMjc7fQ0KCS5zdDE4e29wYWNpdHk6MC41NjtmaWxsOnVybCgjU1ZHSURfMV8pO30NCgkuc3QxOXtmaWxsOiM5MkQ0MDA7fQ0KCS5zdDIwe2ZpbGw6IzAwQjlFNDt9DQoJLnN0MjF7Zm9udC1mYW1pbHk6J09wZW5TYW5zLUJvbGQnO30NCgkuc3QyMntmb250LXNpemU6NDUuNDExNXB4O30NCgkuc3QyM3tmaWxsOiMyQjM5OTA7fQ0KCS5zdDI0e2ZpbGw6IzNGOUMzNTt9DQoJLnN0MjV7ZmlsbDojOEZDRUQ4O30NCgkuc3QyNntmaWxsOiNEMjFGMjE7fQ0KCS5zdDI3e2ZpbGw6I0Q2RDZENjt9DQoJLnN0Mjh7ZmlsbDojRjFGMUYxO30NCgkuc3QyOXtmaWxsOiNDMzIyNjU7fQ0KCS5zdDMwe2ZpbGw6IzhDMzEyMzt9DQoJLnN0MzF7ZmlsbDojRTA1MjQzO30NCgkuc3QzMntmaWxsOiM1RTFGMTg7fQ0KCS5zdDMze2ZpbGw6I0YyQjBBOTt9DQoJLnN0MzR7ZmlsbDojQ0FDQ0NFO30NCgkuc3QzNXtmaWxsOiNBMUFGREI7fQ0KCS5zdDM2e2ZpbGw6IzAwMjA4Nzt9DQo8L3N0eWxlPg0KPGc+DQoJPGc+DQoJCTxjaXJjbGUgY2xhc3M9InN0MjAiIGN4PSIxMTEuNiIgY3k9IjE5MS43IiByPSI4OC42Ii8+DQoJCTxnPg0KCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExMC42LDk5LjljLTUwLjgsMC05Mi4yLDQxLjQtOTIuMiw5Mi4yYzAsNTAuOSw0MS40LDkyLjIsOTIuMiw5Mi4yaDBjNTAuOCwwLDkyLjItNDEuNCw5Mi4yLTkyLjINCgkJCQlDMjAyLjgsMTQxLjMsMTYxLjQsOTkuOSwxMTAuNiw5OS45eiBNMTgzLjIsMTQzLjljLTcsNi44LTEzLjMsMTQuNC0xOC42LDIyLjdjLTAuNS0wLjEtMC45LTAuMi0xLjQtMC4yYy0xLDAtMS45LDAuMy0yLjgsMC43DQoJCQkJYy00LjYtNi41LTguNC0xMy4xLTExLjMtMTkuNmMxLjctMS4xLDIuOC0zLDIuOC01LjJjMC0wLjYtMC4xLTEuMS0wLjMtMS43YzYuMy00LjQsMTEuNy05LjMsMTYtMTQuMw0KCQkJCUMxNzMuNiwxMzEuNCwxNzguOCwxMzcuMywxODMuMiwxNDMuOXogTTY4LjgsMTY5LjFjNC44LTAuNSw5LjYtMS4yLDE0LjUtMmMxLDIsMy4xLDMuNCw1LjUsMy40aDBjMC44LDAsMS43LTAuMiwyLjQtMC41DQoJCQkJYzYuMiw4LjksMTMuNSwxNy4xLDIxLjgsMjQuNGM4LjcsNy42LDE4LjIsMTQsMjguMSwxOS4xYy0wLjEsMC41LTAuMiwxLTAuMiwxLjVjMCwyLjQsMS40LDQuNSwzLjQsNS41DQoJCQkJYy0xLjEsNy4yLTEuNiwxNC41LTEuNSwyMS42Yy0xLjIsMC4zLTIuMywwLjgtMy4yLDEuNmMtOS4zLTYuNi0xOS40LTEyLjItMzAuMS0xNi41Yy0xMi45LTUuMi0yNi4yLTguNC0zOS41LTkuNw0KCQkJCWMtMC44LTMuNS0zLjktNi4xLTcuNi02LjJjLTEtNi4zLTEuNS0xMi43LTEuNS0xOS4yYzAtNS40LDAuNC0xMC43LDEuMS0xNS45QzY1LjUsMTc1LjcsNjguMywxNzIuOCw2OC44LDE2OS4xeiBNNjQuNywxNjEuMg0KCQkJCWMyLjMtOC43LDUuNS0xNyw5LjctMjQuN2MyLjYsNy45LDYsMTUuNywxMC4yLDIzLjFjLTEuMSwxLTEuOCwyLjMtMiwzLjhjLTQuOCwwLjgtOS41LDEuNS0xNC4zLDEuOQ0KCQkJCUM2Ny43LDE2My42LDY2LjQsMTYyLjEsNjQuNywxNjEuMnogTTE0Ni41LDIwOC45Yy0xLjgsMC4yLTMuNCwxLjEtNC40LDIuNGMtOS43LTUtMTktMTEuMi0yNy42LTE4LjdjLTguMi03LjItMTUuMy0xNS4zLTIxLjQtMjQNCgkJCQljMS0xLDEuNi0yLjQsMS43LTMuOWMxNy40LTQuMSwzMy40LTEwLjMsNDYuNy0xNy44YzEuMSwxLDIuNSwxLjYsNC4xLDEuNmgwYzAuNCwwLDAuOCwwLDEuMi0wLjFjMi45LDYuOCw2LjgsMTMuNiwxMS42LDIwLjMNCgkJCQljLTAuOSwxLjEtMS41LDIuNS0xLjUsNGMwLDEuNiwwLjYsMy4xLDEuNyw0LjJjLTMuNyw3LTYuOSwxNC40LTkuMywyMi4yQzE0OC4yLDIwMi4zLDE0Ny4zLDIwNS42LDE0Ni41LDIwOC45eiBNMTQ0LjQsMTExLjcNCgkJCQljNy40LDMuMSwxNC4yLDcuMiwyMC40LDEyLjFjLTQuMSw0LjctOS4yLDkuMy0xNS4zLDEzLjVjLTEuMS0wLjgtMi40LTEuNC0zLjgtMS40Yy0wLjIsMC0wLjMsMC0wLjUsMC4xDQoJCQkJQzE0Mi45LDEyNy4zLDE0Mi41LDExOC45LDE0NC40LDExMS43eiBNMTEwLjYsMTA0LjljMTEuMSwwLDIxLjcsMi4xLDMxLjUsNS45Yy0yLjEsNy43LTEuNywxNi42LDAuNywyNS45Yy0yLDEtMy40LDMuMS0zLjQsNS41DQoJCQkJYzAsMC41LDAuMSwwLjksMC4yLDEuNGMtMTMsNy40LTI4LjcsMTMuNS00NS42LDE3LjVjLTEuMS0xLjgtMy4xLTMuMS01LjMtMy4xYy0wLjcsMC0xLjQsMC4xLTIsMC40Yy00LjUtNy45LTguMS0xNi4zLTEwLjctMjQuOA0KCQkJCWM2LjQtMTEsMTQuNi0yMC41LDI0LjQtMjguMUMxMDMuOCwxMDUuMSwxMDcuMSwxMDQuOSwxMTAuNiwxMDQuOXogTTkzLjIsMTA2LjZjLTcuMSw2LjMtMTMuNCwxMy43LTE4LjUsMjINCgkJCQljLTEuMi00LjktMi4xLTkuOC0yLjctMTQuN0M3OC42LDExMC42LDg1LjgsMTA4LjEsOTMuMiwxMDYuNnogTTY5LjYsMTE1LjFjMC43LDUuNSwxLjgsMTEsMy4zLDE2LjVjLTUuMSw4LjgtOS4xLDE4LjQtMTEuOCwyOC41DQoJCQkJYy0wLjEsMC0wLjMsMC0wLjQsMGMtMy44LDAtNi45LDIuNi03LjgsNi4yYy04LjgsMC4xLTE3LjItMC41LTI1LjEtMS44QzM1LDE0My4yLDUwLjEsMTI1LjUsNjkuNiwxMTUuMXogTTIzLjMsMTkyLjENCgkJCQljMC04LjMsMS4yLTE2LjQsMy40LTI0YzcuNiwxLjMsMTUuNywyLDI0LjEsMmMwLjcsMCwxLjMsMCwyLTAuMWMwLjYsMi43LDIuNiw0LjksNS4yLDUuOGMtMC43LDUuMy0xLjEsMTAuOC0xLjEsMTYuMw0KCQkJCWMwLDYuOCwwLjUsMTMuNSwxLjYsMjBjLTIsMC45LTMuNiwyLjctNC4zLDQuOGMtOC45LDAuMS0xNy43LDEuMS0yNi40LDNDMjUsMjExLjIsMjMuMywyMDEuOCwyMy4zLDE5Mi4xeiBNMjkuMiwyMjMuNA0KCQkJCWM4LjItMS43LDE2LjUtMi42LDI0LjktMi44YzAuNiwzLjksMy45LDYuOCw4LDYuOGgwYzAsMCwwLjEsMCwwLjEsMGM1LjgsMTkuOCwxNi42LDM3LjIsMzEuMSw1MC4xDQoJCQkJQzYzLjgsMjcxLjYsMzkuOCwyNTAuOSwyOS4yLDIyMy40eiBNMTEwLjYsMjc5LjNMMTEwLjYsMjc5LjNjLTMuNCwwLTYuOC0wLjItMTAuMi0wLjZDODQsMjY2LDcyLDI0Ny43LDY1LjcsMjI2LjYNCgkJCQljMi0xLjEsMy42LTIuOSw0LjEtNS4yYzEyLjksMS4zLDI1LjcsNC40LDM4LjIsOS40YzEwLjQsNC4yLDIwLjIsOS42LDI5LjIsMTZjLTAuNSwxLTAuNywyLjEtMC43LDMuM2MwLDQuMiwzLjMsNy43LDcuNSw4DQoJCQkJYzAuNiw0LjUsMS41LDksMi43LDEzLjRDMTM1LjYsMjc2LjUsMTIzLjQsMjc5LjMsMTEwLjYsMjc5LjN6IE0xNTAsMjY5LjljLTEtNC4xLTEuOC04LjItMi40LTEyLjNjMC42LTAuMywxLjItMC42LDEuOC0xDQoJCQkJYzMuMSwyLjgsNiw1LjcsOC43LDguN0MxNTUuNSwyNjYuOSwxNTIuOCwyNjguNCwxNTAsMjY5Ljl6IE0xNjEuMywyNjNjLTMtMy4zLTYuMS02LjQtOS41LTkuNGMwLjUtMS4xLDAuOS0yLjMsMC45LTMuNg0KCQkJCWMwLTMuOC0yLjctNy02LjItNy44Yy0wLjEtNywwLjQtMTQsMS41LTIxYzEuOC0wLjIsMy4zLTEuMiw0LjMtMi42YzEyLjQsNC45LDI1LjMsNy44LDM4LjMsOC41QzE4NC4xLDI0MS41LDE3NCwyNTMuOSwxNjEuMywyNjMNCgkJCQl6IE0xOTEuNSwyMjQuNmMtMTMtMC42LTI1LjktMy40LTM4LjMtOC4zYzAuMS0wLjQsMC4xLTAuOCwwLjEtMS4yYzAtMi4zLTEuMy00LjMtMy4xLTUuNGMwLjgtMy4yLDEuNi02LjQsMi42LTkuNQ0KCQkJCWMyLjQtNy41LDUuNC0xNC42LDktMjEuNGMwLjQsMC4xLDAuOSwwLjEsMS4zLDAuMmgwYzEsMCwyLTAuMywyLjktMC43YzIuMSwyLjQsNC4zLDQuOCw2LjYsNy4xYzcuNiw3LjQsMTUuOCwxMy42LDI0LjMsMTguNg0KCQkJCUMxOTYsMjExLDE5NC4yLDIxOCwxOTEuNSwyMjQuNnogTTE3NC40LDE4My40Yy0yLjMtMi4yLTQuNC00LjUtNi41LTYuOGMwLjktMS4xLDEuNC0yLjQsMS40LTMuOWMwLTEuNi0wLjYtMy0xLjYtNC4xDQoJCQkJYzUuMS03LjgsMTAuOS0xNSwxNy41LTIxLjRjOCwxMy4xLDEyLjUsMjguNiwxMi41LDQ1YzAsMy0wLjIsNi0wLjUsOC45QzE4OS4zLDE5Ni4yLDE4MS42LDE5MC40LDE3NC40LDE4My40eiIvPg0KCQk8L2c+DQoJPC9nPg0KCTxnPg0KCQk8Zz4NCgkJCTxwYXRoIGQ9Ik0xNjguMSwxLjNjLTAuOC0wLjktMi0xLjMtMy4xLTEuM0g0LjRDMiwwLDAsMiwwLDQuNHYyOTEuM2MwLDIuNCwyLDQuNCw0LjQsNC40aDIxMi40YzIuNCwwLDQuNC0yLDQuNC00LjRWNTcuOA0KCQkJCWMwLTEuMS0wLjQtMi4yLTEuMi0zTDE2OC4xLDEuM3ogTTE2OS4zLDE1LjJsMzkuNSw0MC43aC0zOS41VjE1LjJ6IE04LjcsOC43aDE1MS44djQ5LjZjMCwwLjMsMC4xLDAuNiwwLjIsMC45DQoJCQkJYy0wLjEsMC4zLTAuMiwwLjYtMC4yLDAuOWMwLDIuNCwyLDQuNCw0LjQsNC40aDQ3LjV2MjI2LjdIOC43VjguN3oiLz4NCgkJPC9nPg0KCTwvZz4NCgk8cmVjdCB4PSIwIiB5PSI0OC40IiBjbGFzcz0ic3QyIiB3aWR0aD0iMjIxLjciIGhlaWdodD0iNzYiLz4NCgk8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDc3LjgyNTIgODIuOTEyOCkiIGNsYXNzPSJzdDkgc3QyMSBzdDIyIj5mdHA8L3RleHQ+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "FTP" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "FTP Source" description: Receive data from an FTP server. required: - connectionHost - connectionPort - username - password - directoryName type: object properties: connectionHost: title: Connection Host description: The hostname of the FTP server. type: string connectionPort: title: Connection Port description: The port of the FTP server. type: string default: 21 username: title: Username description: The username to access the FTP server. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the FTP server. type: string format: password x-descriptors: - urn:camel:group:credentials directoryName: title: Directory Name description: The starting directory type: string passiveMode: title: Passive Mode description: Specifes to use passive mode connection. type: boolean default: false recursive: title: Recursive description: If a directory, look for files in all the sub-directories as well. type: boolean default: false idempotent: title: Idempotency description: Skip already-processed files. type: boolean default: true binary: title: Binary description: Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). type: boolean default: false autoCreate: title: Autocreate Missing Directories description: Automatically create starting directory. type: boolean default: true delete: title: Delete description: If true, the file is deleted after it is processed successfully. type: boolean default: false dependencies: - "camel:ftp" - "camel:core" - "camel:kamelet" template: from: uri: "ftp:{{username}}@{{connectionHost}}:{{connectionPort}}/{{directoryName}}" parameters: password: "{{password}}" passiveMode: "{{passiveMode}}" recursive: "{{recursive}}" idempotent: "{{idempotent}}" binary: "{{binary}}" autoCreate: "{{autoCreate}}" delete: "{{delete}}" steps: - setHeader: name: file simple: "${header[CamelFileName]}" - setHeader: name: ce-file simple: "${header[CamelFileName]}" - convertBodyTo: type: "java.io.InputStream" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ftps-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMjEuMSAzMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIyMS4xIDMwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzgzMkVBQjt9DQoJLnN0MXtmaWxsOiNCQUJBQkE7fQ0KCS5zdDJ7ZmlsbDpub25lO30NCgkuc3Qze2ZpbGw6IzhEQzYzRjt9DQoJLnN0NHtmaWxsOiMwRjlCRDc7fQ0KCS5zdDV7ZmlsbDojRkZGRkZGO30NCgkuc3Q2e2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQoJLnN0N3tmaWxsOiMxREExRjI7fQ0KCS5zdDh7ZmlsbDojM0Q1QTk4O30NCgkuc3Q5e2ZpbGw6IzIzMUYyMDt9DQoJLnN0MTB7ZmlsbDojMDA3QkI1O30NCgkuc3QxMXtmaWxsOiNEQzRFNDE7fQ0KCS5zdDEye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzE4MTYxNjt9DQoJLnN0MTN7ZmlsbDojMTgxNjE2O30NCgkuc3QxNHtmaWxsOiNGMkYyRjI7fQ0KCS5zdDE1e2ZpbGw6I0UzRTNFMzt9DQoJLnN0MTZ7ZmlsbDojRDU0QjNEO30NCgkuc3QxN3tmaWxsOiNENzJCMjc7fQ0KCS5zdDE4e29wYWNpdHk6MC41NjtmaWxsOnVybCgjU1ZHSURfMV8pO30NCgkuc3QxOXtmaWxsOiM5MkQ0MDA7fQ0KCS5zdDIwe2ZpbGw6IzAwQjlFNDt9DQoJLnN0MjF7Zm9udC1mYW1pbHk6J09wZW5TYW5zLUJvbGQnO30NCgkuc3QyMntmb250LXNpemU6NDUuNDExNXB4O30NCgkuc3QyM3tmaWxsOiMyQjM5OTA7fQ0KCS5zdDI0e2ZpbGw6IzNGOUMzNTt9DQoJLnN0MjV7ZmlsbDojOEZDRUQ4O30NCgkuc3QyNntmaWxsOiNEMjFGMjE7fQ0KCS5zdDI3e2ZpbGw6I0Q2RDZENjt9DQoJLnN0Mjh7ZmlsbDojRjFGMUYxO30NCgkuc3QyOXtmaWxsOiNDMzIyNjU7fQ0KCS5zdDMwe2ZpbGw6IzhDMzEyMzt9DQoJLnN0MzF7ZmlsbDojRTA1MjQzO30NCgkuc3QzMntmaWxsOiM1RTFGMTg7fQ0KCS5zdDMze2ZpbGw6I0YyQjBBOTt9DQoJLnN0MzR7ZmlsbDojQ0FDQ0NFO30NCgkuc3QzNXtmaWxsOiNBMUFGREI7fQ0KCS5zdDM2e2ZpbGw6IzAwMjA4Nzt9DQo8L3N0eWxlPg0KPGc+DQoJPGc+DQoJCTxjaXJjbGUgY2xhc3M9InN0MjAiIGN4PSIxMTEuNiIgY3k9IjE5MS43IiByPSI4OC42Ii8+DQoJCTxnPg0KCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExMC42LDk5LjljLTUwLjgsMC05Mi4yLDQxLjQtOTIuMiw5Mi4yYzAsNTAuOSw0MS40LDkyLjIsOTIuMiw5Mi4yaDBjNTAuOCwwLDkyLjItNDEuNCw5Mi4yLTkyLjINCgkJCQlDMjAyLjgsMTQxLjMsMTYxLjQsOTkuOSwxMTAuNiw5OS45eiBNMTgzLjIsMTQzLjljLTcsNi44LTEzLjMsMTQuNC0xOC42LDIyLjdjLTAuNS0wLjEtMC45LTAuMi0xLjQtMC4yYy0xLDAtMS45LDAuMy0yLjgsMC43DQoJCQkJYy00LjYtNi41LTguNC0xMy4xLTExLjMtMTkuNmMxLjctMS4xLDIuOC0zLDIuOC01LjJjMC0wLjYtMC4xLTEuMS0wLjMtMS43YzYuMy00LjQsMTEuNy05LjMsMTYtMTQuMw0KCQkJCUMxNzMuNiwxMzEuNCwxNzguOCwxMzcuMywxODMuMiwxNDMuOXogTTY4LjgsMTY5LjFjNC44LTAuNSw5LjYtMS4yLDE0LjUtMmMxLDIsMy4xLDMuNCw1LjUsMy40aDBjMC44LDAsMS43LTAuMiwyLjQtMC41DQoJCQkJYzYuMiw4LjksMTMuNSwxNy4xLDIxLjgsMjQuNGM4LjcsNy42LDE4LjIsMTQsMjguMSwxOS4xYy0wLjEsMC41LTAuMiwxLTAuMiwxLjVjMCwyLjQsMS40LDQuNSwzLjQsNS41DQoJCQkJYy0xLjEsNy4yLTEuNiwxNC41LTEuNSwyMS42Yy0xLjIsMC4zLTIuMywwLjgtMy4yLDEuNmMtOS4zLTYuNi0xOS40LTEyLjItMzAuMS0xNi41Yy0xMi45LTUuMi0yNi4yLTguNC0zOS41LTkuNw0KCQkJCWMtMC44LTMuNS0zLjktNi4xLTcuNi02LjJjLTEtNi4zLTEuNS0xMi43LTEuNS0xOS4yYzAtNS40LDAuNC0xMC43LDEuMS0xNS45QzY1LjUsMTc1LjcsNjguMywxNzIuOCw2OC44LDE2OS4xeiBNNjQuNywxNjEuMg0KCQkJCWMyLjMtOC43LDUuNS0xNyw5LjctMjQuN2MyLjYsNy45LDYsMTUuNywxMC4yLDIzLjFjLTEuMSwxLTEuOCwyLjMtMiwzLjhjLTQuOCwwLjgtOS41LDEuNS0xNC4zLDEuOQ0KCQkJCUM2Ny43LDE2My42LDY2LjQsMTYyLjEsNjQuNywxNjEuMnogTTE0Ni41LDIwOC45Yy0xLjgsMC4yLTMuNCwxLjEtNC40LDIuNGMtOS43LTUtMTktMTEuMi0yNy42LTE4LjdjLTguMi03LjItMTUuMy0xNS4zLTIxLjQtMjQNCgkJCQljMS0xLDEuNi0yLjQsMS43LTMuOWMxNy40LTQuMSwzMy40LTEwLjMsNDYuNy0xNy44YzEuMSwxLDIuNSwxLjYsNC4xLDEuNmgwYzAuNCwwLDAuOCwwLDEuMi0wLjFjMi45LDYuOCw2LjgsMTMuNiwxMS42LDIwLjMNCgkJCQljLTAuOSwxLjEtMS41LDIuNS0xLjUsNGMwLDEuNiwwLjYsMy4xLDEuNyw0LjJjLTMuNyw3LTYuOSwxNC40LTkuMywyMi4yQzE0OC4yLDIwMi4zLDE0Ny4zLDIwNS42LDE0Ni41LDIwOC45eiBNMTQ0LjQsMTExLjcNCgkJCQljNy40LDMuMSwxNC4yLDcuMiwyMC40LDEyLjFjLTQuMSw0LjctOS4yLDkuMy0xNS4zLDEzLjVjLTEuMS0wLjgtMi40LTEuNC0zLjgtMS40Yy0wLjIsMC0wLjMsMC0wLjUsMC4xDQoJCQkJQzE0Mi45LDEyNy4zLDE0Mi41LDExOC45LDE0NC40LDExMS43eiBNMTEwLjYsMTA0LjljMTEuMSwwLDIxLjcsMi4xLDMxLjUsNS45Yy0yLjEsNy43LTEuNywxNi42LDAuNywyNS45Yy0yLDEtMy40LDMuMS0zLjQsNS41DQoJCQkJYzAsMC41LDAuMSwwLjksMC4yLDEuNGMtMTMsNy40LTI4LjcsMTMuNS00NS42LDE3LjVjLTEuMS0xLjgtMy4xLTMuMS01LjMtMy4xYy0wLjcsMC0xLjQsMC4xLTIsMC40Yy00LjUtNy45LTguMS0xNi4zLTEwLjctMjQuOA0KCQkJCWM2LjQtMTEsMTQuNi0yMC41LDI0LjQtMjguMUMxMDMuOCwxMDUuMSwxMDcuMSwxMDQuOSwxMTAuNiwxMDQuOXogTTkzLjIsMTA2LjZjLTcuMSw2LjMtMTMuNCwxMy43LTE4LjUsMjINCgkJCQljLTEuMi00LjktMi4xLTkuOC0yLjctMTQuN0M3OC42LDExMC42LDg1LjgsMTA4LjEsOTMuMiwxMDYuNnogTTY5LjYsMTE1LjFjMC43LDUuNSwxLjgsMTEsMy4zLDE2LjVjLTUuMSw4LjgtOS4xLDE4LjQtMTEuOCwyOC41DQoJCQkJYy0wLjEsMC0wLjMsMC0wLjQsMGMtMy44LDAtNi45LDIuNi03LjgsNi4yYy04LjgsMC4xLTE3LjItMC41LTI1LjEtMS44QzM1LDE0My4yLDUwLjEsMTI1LjUsNjkuNiwxMTUuMXogTTIzLjMsMTkyLjENCgkJCQljMC04LjMsMS4yLTE2LjQsMy40LTI0YzcuNiwxLjMsMTUuNywyLDI0LjEsMmMwLjcsMCwxLjMsMCwyLTAuMWMwLjYsMi43LDIuNiw0LjksNS4yLDUuOGMtMC43LDUuMy0xLjEsMTAuOC0xLjEsMTYuMw0KCQkJCWMwLDYuOCwwLjUsMTMuNSwxLjYsMjBjLTIsMC45LTMuNiwyLjctNC4zLDQuOGMtOC45LDAuMS0xNy43LDEuMS0yNi40LDNDMjUsMjExLjIsMjMuMywyMDEuOCwyMy4zLDE5Mi4xeiBNMjkuMiwyMjMuNA0KCQkJCWM4LjItMS43LDE2LjUtMi42LDI0LjktMi44YzAuNiwzLjksMy45LDYuOCw4LDYuOGgwYzAsMCwwLjEsMCwwLjEsMGM1LjgsMTkuOCwxNi42LDM3LjIsMzEuMSw1MC4xDQoJCQkJQzYzLjgsMjcxLjYsMzkuOCwyNTAuOSwyOS4yLDIyMy40eiBNMTEwLjYsMjc5LjNMMTEwLjYsMjc5LjNjLTMuNCwwLTYuOC0wLjItMTAuMi0wLjZDODQsMjY2LDcyLDI0Ny43LDY1LjcsMjI2LjYNCgkJCQljMi0xLjEsMy42LTIuOSw0LjEtNS4yYzEyLjksMS4zLDI1LjcsNC40LDM4LjIsOS40YzEwLjQsNC4yLDIwLjIsOS42LDI5LjIsMTZjLTAuNSwxLTAuNywyLjEtMC43LDMuM2MwLDQuMiwzLjMsNy43LDcuNSw4DQoJCQkJYzAuNiw0LjUsMS41LDksMi43LDEzLjRDMTM1LjYsMjc2LjUsMTIzLjQsMjc5LjMsMTEwLjYsMjc5LjN6IE0xNTAsMjY5LjljLTEtNC4xLTEuOC04LjItMi40LTEyLjNjMC42LTAuMywxLjItMC42LDEuOC0xDQoJCQkJYzMuMSwyLjgsNiw1LjcsOC43LDguN0MxNTUuNSwyNjYuOSwxNTIuOCwyNjguNCwxNTAsMjY5Ljl6IE0xNjEuMywyNjNjLTMtMy4zLTYuMS02LjQtOS41LTkuNGMwLjUtMS4xLDAuOS0yLjMsMC45LTMuNg0KCQkJCWMwLTMuOC0yLjctNy02LjItNy44Yy0wLjEtNywwLjQtMTQsMS41LTIxYzEuOC0wLjIsMy4zLTEuMiw0LjMtMi42YzEyLjQsNC45LDI1LjMsNy44LDM4LjMsOC41QzE4NC4xLDI0MS41LDE3NCwyNTMuOSwxNjEuMywyNjMNCgkJCQl6IE0xOTEuNSwyMjQuNmMtMTMtMC42LTI1LjktMy40LTM4LjMtOC4zYzAuMS0wLjQsMC4xLTAuOCwwLjEtMS4yYzAtMi4zLTEuMy00LjMtMy4xLTUuNGMwLjgtMy4yLDEuNi02LjQsMi42LTkuNQ0KCQkJCWMyLjQtNy41LDUuNC0xNC42LDktMjEuNGMwLjQsMC4xLDAuOSwwLjEsMS4zLDAuMmgwYzEsMCwyLTAuMywyLjktMC43YzIuMSwyLjQsNC4zLDQuOCw2LjYsNy4xYzcuNiw3LjQsMTUuOCwxMy42LDI0LjMsMTguNg0KCQkJCUMxOTYsMjExLDE5NC4yLDIxOCwxOTEuNSwyMjQuNnogTTE3NC40LDE4My40Yy0yLjMtMi4yLTQuNC00LjUtNi41LTYuOGMwLjktMS4xLDEuNC0yLjQsMS40LTMuOWMwLTEuNi0wLjYtMy0xLjYtNC4xDQoJCQkJYzUuMS03LjgsMTAuOS0xNSwxNy41LTIxLjRjOCwxMy4xLDEyLjUsMjguNiwxMi41LDQ1YzAsMy0wLjIsNi0wLjUsOC45QzE4OS4zLDE5Ni4yLDE4MS42LDE5MC40LDE3NC40LDE4My40eiIvPg0KCQk8L2c+DQoJPC9nPg0KCTxnPg0KCQk8Zz4NCgkJCTxwYXRoIGQ9Ik0xNjguMSwxLjNjLTAuOC0wLjktMi0xLjMtMy4xLTEuM0g0LjRDMiwwLDAsMiwwLDQuNHYyOTEuM2MwLDIuNCwyLDQuNCw0LjQsNC40aDIxMi40YzIuNCwwLDQuNC0yLDQuNC00LjRWNTcuOA0KCQkJCWMwLTEuMS0wLjQtMi4yLTEuMi0zTDE2OC4xLDEuM3ogTTE2OS4zLDE1LjJsMzkuNSw0MC43aC0zOS41VjE1LjJ6IE04LjcsOC43aDE1MS44djQ5LjZjMCwwLjMsMC4xLDAuNiwwLjIsMC45DQoJCQkJYy0wLjEsMC4zLTAuMiwwLjYtMC4yLDAuOWMwLDIuNCwyLDQuNCw0LjQsNC40aDQ3LjV2MjI2LjdIOC43VjguN3oiLz4NCgkJPC9nPg0KCTwvZz4NCgk8cmVjdCB4PSIwIiB5PSI0OC40IiBjbGFzcz0ic3QyIiB3aWR0aD0iMjIxLjciIGhlaWdodD0iNzYiLz4NCgk8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDc3LjgyNTIgODIuOTEyOCkiIGNsYXNzPSJzdDkgc3QyMSBzdDIyIj5mdHA8L3RleHQ+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "FTP" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "FTPS Sink" description: Send data to an FTPS server. required: - connectionHost - connectionPort - username - password - directoryName type: object properties: connectionHost: title: Connection Host description: The hostname of the FTP server. type: string connectionPort: title: Connection Port description: The port of the FTP server. type: string default: 21 username: title: Username description: The username to access the FTP server. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the FTP server. type: string format: password x-descriptors: - urn:camel:group:credentials directoryName: title: Directory Name description: The starting directory. type: string passiveMode: title: Passive Mode description: Set the passive mode connection. type: boolean default: false fileExist: title: File Existence description: "Specifies how the Kamelet behaves if the file already exists." type: string default: Override enum: ["Override", "Append", "Fail", "Ignore"] binary: title: Binary description: Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). type: boolean default: false autoCreate: title: Autocreate Missing Directories description: Automatically create the directory the files should be written to. type: boolean default: true dependencies: - "camel:ftp" - "camel:core" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelFileName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelFileName simple: "${header[ce-file]}" - to: uri: "ftps:{{username}}@{{connectionHost}}:{{connectionPort}}/{{directoryName}}" parameters: password: "{{password}}" passiveMode: "{{passiveMode}}" fileExist: "{{fileExist}}" binary: "{{binary}}" autoCreate: "{{autoCreate}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ftps-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMjEuMSAzMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIyMS4xIDMwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzgzMkVBQjt9DQoJLnN0MXtmaWxsOiNCQUJBQkE7fQ0KCS5zdDJ7ZmlsbDpub25lO30NCgkuc3Qze2ZpbGw6IzhEQzYzRjt9DQoJLnN0NHtmaWxsOiMwRjlCRDc7fQ0KCS5zdDV7ZmlsbDojRkZGRkZGO30NCgkuc3Q2e2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQoJLnN0N3tmaWxsOiMxREExRjI7fQ0KCS5zdDh7ZmlsbDojM0Q1QTk4O30NCgkuc3Q5e2ZpbGw6IzIzMUYyMDt9DQoJLnN0MTB7ZmlsbDojMDA3QkI1O30NCgkuc3QxMXtmaWxsOiNEQzRFNDE7fQ0KCS5zdDEye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzE4MTYxNjt9DQoJLnN0MTN7ZmlsbDojMTgxNjE2O30NCgkuc3QxNHtmaWxsOiNGMkYyRjI7fQ0KCS5zdDE1e2ZpbGw6I0UzRTNFMzt9DQoJLnN0MTZ7ZmlsbDojRDU0QjNEO30NCgkuc3QxN3tmaWxsOiNENzJCMjc7fQ0KCS5zdDE4e29wYWNpdHk6MC41NjtmaWxsOnVybCgjU1ZHSURfMV8pO30NCgkuc3QxOXtmaWxsOiM5MkQ0MDA7fQ0KCS5zdDIwe2ZpbGw6IzAwQjlFNDt9DQoJLnN0MjF7Zm9udC1mYW1pbHk6J09wZW5TYW5zLUJvbGQnO30NCgkuc3QyMntmb250LXNpemU6NDUuNDExNXB4O30NCgkuc3QyM3tmaWxsOiMyQjM5OTA7fQ0KCS5zdDI0e2ZpbGw6IzNGOUMzNTt9DQoJLnN0MjV7ZmlsbDojOEZDRUQ4O30NCgkuc3QyNntmaWxsOiNEMjFGMjE7fQ0KCS5zdDI3e2ZpbGw6I0Q2RDZENjt9DQoJLnN0Mjh7ZmlsbDojRjFGMUYxO30NCgkuc3QyOXtmaWxsOiNDMzIyNjU7fQ0KCS5zdDMwe2ZpbGw6IzhDMzEyMzt9DQoJLnN0MzF7ZmlsbDojRTA1MjQzO30NCgkuc3QzMntmaWxsOiM1RTFGMTg7fQ0KCS5zdDMze2ZpbGw6I0YyQjBBOTt9DQoJLnN0MzR7ZmlsbDojQ0FDQ0NFO30NCgkuc3QzNXtmaWxsOiNBMUFGREI7fQ0KCS5zdDM2e2ZpbGw6IzAwMjA4Nzt9DQo8L3N0eWxlPg0KPGc+DQoJPGc+DQoJCTxjaXJjbGUgY2xhc3M9InN0MjAiIGN4PSIxMTEuNiIgY3k9IjE5MS43IiByPSI4OC42Ii8+DQoJCTxnPg0KCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExMC42LDk5LjljLTUwLjgsMC05Mi4yLDQxLjQtOTIuMiw5Mi4yYzAsNTAuOSw0MS40LDkyLjIsOTIuMiw5Mi4yaDBjNTAuOCwwLDkyLjItNDEuNCw5Mi4yLTkyLjINCgkJCQlDMjAyLjgsMTQxLjMsMTYxLjQsOTkuOSwxMTAuNiw5OS45eiBNMTgzLjIsMTQzLjljLTcsNi44LTEzLjMsMTQuNC0xOC42LDIyLjdjLTAuNS0wLjEtMC45LTAuMi0xLjQtMC4yYy0xLDAtMS45LDAuMy0yLjgsMC43DQoJCQkJYy00LjYtNi41LTguNC0xMy4xLTExLjMtMTkuNmMxLjctMS4xLDIuOC0zLDIuOC01LjJjMC0wLjYtMC4xLTEuMS0wLjMtMS43YzYuMy00LjQsMTEuNy05LjMsMTYtMTQuMw0KCQkJCUMxNzMuNiwxMzEuNCwxNzguOCwxMzcuMywxODMuMiwxNDMuOXogTTY4LjgsMTY5LjFjNC44LTAuNSw5LjYtMS4yLDE0LjUtMmMxLDIsMy4xLDMuNCw1LjUsMy40aDBjMC44LDAsMS43LTAuMiwyLjQtMC41DQoJCQkJYzYuMiw4LjksMTMuNSwxNy4xLDIxLjgsMjQuNGM4LjcsNy42LDE4LjIsMTQsMjguMSwxOS4xYy0wLjEsMC41LTAuMiwxLTAuMiwxLjVjMCwyLjQsMS40LDQuNSwzLjQsNS41DQoJCQkJYy0xLjEsNy4yLTEuNiwxNC41LTEuNSwyMS42Yy0xLjIsMC4zLTIuMywwLjgtMy4yLDEuNmMtOS4zLTYuNi0xOS40LTEyLjItMzAuMS0xNi41Yy0xMi45LTUuMi0yNi4yLTguNC0zOS41LTkuNw0KCQkJCWMtMC44LTMuNS0zLjktNi4xLTcuNi02LjJjLTEtNi4zLTEuNS0xMi43LTEuNS0xOS4yYzAtNS40LDAuNC0xMC43LDEuMS0xNS45QzY1LjUsMTc1LjcsNjguMywxNzIuOCw2OC44LDE2OS4xeiBNNjQuNywxNjEuMg0KCQkJCWMyLjMtOC43LDUuNS0xNyw5LjctMjQuN2MyLjYsNy45LDYsMTUuNywxMC4yLDIzLjFjLTEuMSwxLTEuOCwyLjMtMiwzLjhjLTQuOCwwLjgtOS41LDEuNS0xNC4zLDEuOQ0KCQkJCUM2Ny43LDE2My42LDY2LjQsMTYyLjEsNjQuNywxNjEuMnogTTE0Ni41LDIwOC45Yy0xLjgsMC4yLTMuNCwxLjEtNC40LDIuNGMtOS43LTUtMTktMTEuMi0yNy42LTE4LjdjLTguMi03LjItMTUuMy0xNS4zLTIxLjQtMjQNCgkJCQljMS0xLDEuNi0yLjQsMS43LTMuOWMxNy40LTQuMSwzMy40LTEwLjMsNDYuNy0xNy44YzEuMSwxLDIuNSwxLjYsNC4xLDEuNmgwYzAuNCwwLDAuOCwwLDEuMi0wLjFjMi45LDYuOCw2LjgsMTMuNiwxMS42LDIwLjMNCgkJCQljLTAuOSwxLjEtMS41LDIuNS0xLjUsNGMwLDEuNiwwLjYsMy4xLDEuNyw0LjJjLTMuNyw3LTYuOSwxNC40LTkuMywyMi4yQzE0OC4yLDIwMi4zLDE0Ny4zLDIwNS42LDE0Ni41LDIwOC45eiBNMTQ0LjQsMTExLjcNCgkJCQljNy40LDMuMSwxNC4yLDcuMiwyMC40LDEyLjFjLTQuMSw0LjctOS4yLDkuMy0xNS4zLDEzLjVjLTEuMS0wLjgtMi40LTEuNC0zLjgtMS40Yy0wLjIsMC0wLjMsMC0wLjUsMC4xDQoJCQkJQzE0Mi45LDEyNy4zLDE0Mi41LDExOC45LDE0NC40LDExMS43eiBNMTEwLjYsMTA0LjljMTEuMSwwLDIxLjcsMi4xLDMxLjUsNS45Yy0yLjEsNy43LTEuNywxNi42LDAuNywyNS45Yy0yLDEtMy40LDMuMS0zLjQsNS41DQoJCQkJYzAsMC41LDAuMSwwLjksMC4yLDEuNGMtMTMsNy40LTI4LjcsMTMuNS00NS42LDE3LjVjLTEuMS0xLjgtMy4xLTMuMS01LjMtMy4xYy0wLjcsMC0xLjQsMC4xLTIsMC40Yy00LjUtNy45LTguMS0xNi4zLTEwLjctMjQuOA0KCQkJCWM2LjQtMTEsMTQuNi0yMC41LDI0LjQtMjguMUMxMDMuOCwxMDUuMSwxMDcuMSwxMDQuOSwxMTAuNiwxMDQuOXogTTkzLjIsMTA2LjZjLTcuMSw2LjMtMTMuNCwxMy43LTE4LjUsMjINCgkJCQljLTEuMi00LjktMi4xLTkuOC0yLjctMTQuN0M3OC42LDExMC42LDg1LjgsMTA4LjEsOTMuMiwxMDYuNnogTTY5LjYsMTE1LjFjMC43LDUuNSwxLjgsMTEsMy4zLDE2LjVjLTUuMSw4LjgtOS4xLDE4LjQtMTEuOCwyOC41DQoJCQkJYy0wLjEsMC0wLjMsMC0wLjQsMGMtMy44LDAtNi45LDIuNi03LjgsNi4yYy04LjgsMC4xLTE3LjItMC41LTI1LjEtMS44QzM1LDE0My4yLDUwLjEsMTI1LjUsNjkuNiwxMTUuMXogTTIzLjMsMTkyLjENCgkJCQljMC04LjMsMS4yLTE2LjQsMy40LTI0YzcuNiwxLjMsMTUuNywyLDI0LjEsMmMwLjcsMCwxLjMsMCwyLTAuMWMwLjYsMi43LDIuNiw0LjksNS4yLDUuOGMtMC43LDUuMy0xLjEsMTAuOC0xLjEsMTYuMw0KCQkJCWMwLDYuOCwwLjUsMTMuNSwxLjYsMjBjLTIsMC45LTMuNiwyLjctNC4zLDQuOGMtOC45LDAuMS0xNy43LDEuMS0yNi40LDNDMjUsMjExLjIsMjMuMywyMDEuOCwyMy4zLDE5Mi4xeiBNMjkuMiwyMjMuNA0KCQkJCWM4LjItMS43LDE2LjUtMi42LDI0LjktMi44YzAuNiwzLjksMy45LDYuOCw4LDYuOGgwYzAsMCwwLjEsMCwwLjEsMGM1LjgsMTkuOCwxNi42LDM3LjIsMzEuMSw1MC4xDQoJCQkJQzYzLjgsMjcxLjYsMzkuOCwyNTAuOSwyOS4yLDIyMy40eiBNMTEwLjYsMjc5LjNMMTEwLjYsMjc5LjNjLTMuNCwwLTYuOC0wLjItMTAuMi0wLjZDODQsMjY2LDcyLDI0Ny43LDY1LjcsMjI2LjYNCgkJCQljMi0xLjEsMy42LTIuOSw0LjEtNS4yYzEyLjksMS4zLDI1LjcsNC40LDM4LjIsOS40YzEwLjQsNC4yLDIwLjIsOS42LDI5LjIsMTZjLTAuNSwxLTAuNywyLjEtMC43LDMuM2MwLDQuMiwzLjMsNy43LDcuNSw4DQoJCQkJYzAuNiw0LjUsMS41LDksMi43LDEzLjRDMTM1LjYsMjc2LjUsMTIzLjQsMjc5LjMsMTEwLjYsMjc5LjN6IE0xNTAsMjY5LjljLTEtNC4xLTEuOC04LjItMi40LTEyLjNjMC42LTAuMywxLjItMC42LDEuOC0xDQoJCQkJYzMuMSwyLjgsNiw1LjcsOC43LDguN0MxNTUuNSwyNjYuOSwxNTIuOCwyNjguNCwxNTAsMjY5Ljl6IE0xNjEuMywyNjNjLTMtMy4zLTYuMS02LjQtOS41LTkuNGMwLjUtMS4xLDAuOS0yLjMsMC45LTMuNg0KCQkJCWMwLTMuOC0yLjctNy02LjItNy44Yy0wLjEtNywwLjQtMTQsMS41LTIxYzEuOC0wLjIsMy4zLTEuMiw0LjMtMi42YzEyLjQsNC45LDI1LjMsNy44LDM4LjMsOC41QzE4NC4xLDI0MS41LDE3NCwyNTMuOSwxNjEuMywyNjMNCgkJCQl6IE0xOTEuNSwyMjQuNmMtMTMtMC42LTI1LjktMy40LTM4LjMtOC4zYzAuMS0wLjQsMC4xLTAuOCwwLjEtMS4yYzAtMi4zLTEuMy00LjMtMy4xLTUuNGMwLjgtMy4yLDEuNi02LjQsMi42LTkuNQ0KCQkJCWMyLjQtNy41LDUuNC0xNC42LDktMjEuNGMwLjQsMC4xLDAuOSwwLjEsMS4zLDAuMmgwYzEsMCwyLTAuMywyLjktMC43YzIuMSwyLjQsNC4zLDQuOCw2LjYsNy4xYzcuNiw3LjQsMTUuOCwxMy42LDI0LjMsMTguNg0KCQkJCUMxOTYsMjExLDE5NC4yLDIxOCwxOTEuNSwyMjQuNnogTTE3NC40LDE4My40Yy0yLjMtMi4yLTQuNC00LjUtNi41LTYuOGMwLjktMS4xLDEuNC0yLjQsMS40LTMuOWMwLTEuNi0wLjYtMy0xLjYtNC4xDQoJCQkJYzUuMS03LjgsMTAuOS0xNSwxNy41LTIxLjRjOCwxMy4xLDEyLjUsMjguNiwxMi41LDQ1YzAsMy0wLjIsNi0wLjUsOC45QzE4OS4zLDE5Ni4yLDE4MS42LDE5MC40LDE3NC40LDE4My40eiIvPg0KCQk8L2c+DQoJPC9nPg0KCTxnPg0KCQk8Zz4NCgkJCTxwYXRoIGQ9Ik0xNjguMSwxLjNjLTAuOC0wLjktMi0xLjMtMy4xLTEuM0g0LjRDMiwwLDAsMiwwLDQuNHYyOTEuM2MwLDIuNCwyLDQuNCw0LjQsNC40aDIxMi40YzIuNCwwLDQuNC0yLDQuNC00LjRWNTcuOA0KCQkJCWMwLTEuMS0wLjQtMi4yLTEuMi0zTDE2OC4xLDEuM3ogTTE2OS4zLDE1LjJsMzkuNSw0MC43aC0zOS41VjE1LjJ6IE04LjcsOC43aDE1MS44djQ5LjZjMCwwLjMsMC4xLDAuNiwwLjIsMC45DQoJCQkJYy0wLjEsMC4zLTAuMiwwLjYtMC4yLDAuOWMwLDIuNCwyLDQuNCw0LjQsNC40aDQ3LjV2MjI2LjdIOC43VjguN3oiLz4NCgkJPC9nPg0KCTwvZz4NCgk8cmVjdCB4PSIwIiB5PSI0OC40IiBjbGFzcz0ic3QyIiB3aWR0aD0iMjIxLjciIGhlaWdodD0iNzYiLz4NCgk8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDc3LjgyNTIgODIuOTEyOCkiIGNsYXNzPSJzdDkgc3QyMSBzdDIyIj5mdHA8L3RleHQ+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "FTP" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "FTPS Source" description: Receive data from an FTPS server. required: - connectionHost - connectionPort - username - password - directoryName type: object properties: connectionHost: title: Connection Host description: The hostname of the FTPS server. type: string connectionPort: title: Connection Port description: The port of the FTPS server. type: string default: 21 username: title: Username description: The username to access the FTPS server. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the FTPS server. type: string format: password x-descriptors: - urn:camel:group:credentials directoryName: title: Directory Name description: The starting directory. type: string passiveMode: title: Passive Mode description: Specifies to use passive mode connection. type: boolean default: false recursive: title: Recursive description: If a directory, look for files in all sub-directories as well. type: boolean default: false idempotent: title: Idempotency description: Skip already-processed files. type: boolean default: true binary: title: Binary description: Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). type: boolean default: false autoCreate: title: Autocreate Missing Directories description: Automatically create starting directory. type: boolean default: true delete: title: Delete description: If true, the file is deleted after it is processed successfully. type: boolean default: false dependencies: - "camel:ftp" - "camel:core" - "camel:kamelet" template: from: uri: "ftps:{{username}}@{{connectionHost}}:{{connectionPort}}/{{directoryName}}" parameters: password: "{{password}}" passiveMode: "{{passiveMode}}" recursive: "{{recursive}}" idempotent: "{{idempotent}}" binary: "{{binary}}" autoCreate: "{{autoCreate}}" delete: "{{delete}}" steps: - setHeader: name: file simple: "${header[CamelFileName]}" - setHeader: name: ce-file simple: "${header[CamelFileName]}" - convertBodyTo: type: "java.io.InputStream" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: github-commit-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTggMEMzLjU4IDAgMCAzLjU4IDAgOEMwIDExLjU0IDIuMjkgMTQuNTMgNS40NyAxNS41OUM1Ljg3IDE1LjY2IDYuMDIgMTUuNDIgNi4wMiAxNS4yMUM2LjAyIDE1LjAyIDYuMDEgMTQuMzkgNi4wMSAxMy43MkM0IDE0LjA5IDMuNDggMTMuMjMgMy4zMiAxMi43OEMzLjIzIDEyLjU1IDIuODQgMTEuODQgMi41IDExLjY1QzIuMjIgMTEuNSAxLjgyIDExLjEzIDIuNDkgMTEuMTJDMy4xMiAxMS4xMSAzLjU3IDExLjcgMy43MiAxMS45NEM0LjQ0IDEzLjE1IDUuNTkgMTIuODEgNi4wNSAxMi42QzYuMTIgMTIuMDggNi4zMyAxMS43MyA2LjU2IDExLjUzQzQuNzggMTEuMzMgMi45MiAxMC42NCAyLjkyIDcuNThDMi45MiA2LjcxIDMuMjMgNS45OSAzLjc0IDUuNDNDMy42NiA1LjIzIDMuMzggNC40MSAzLjgyIDMuMzFDMy44MiAzLjMxIDQuNDkgMy4xIDYuMDIgNC4xM0M2LjY2IDMuOTUgNy4zNCAzLjg2IDguMDIgMy44NkM4LjcgMy44NiA5LjM4IDMuOTUgMTAuMDIgNC4xM0MxMS41NSAzLjA5IDEyLjIyIDMuMzEgMTIuMjIgMy4zMUMxMi42NiA0LjQxIDEyLjM4IDUuMjMgMTIuMyA1LjQzQzEyLjgxIDUuOTkgMTMuMTIgNi43IDEzLjEyIDcuNThDMTMuMTIgMTAuNjUgMTEuMjUgMTEuMzMgOS40NyAxMS41M0M5Ljc2IDExLjc4IDEwLjAxIDEyLjI2IDEwLjAxIDEzLjAxQzEwLjAxIDE0LjA4IDEwIDE0Ljk0IDEwIDE1LjIxQzEwIDE1LjQyIDEwLjE1IDE1LjY3IDEwLjU1IDE1LjU5QzEzLjcxIDE0LjUzIDE2IDExLjUzIDE2IDhDMTYgMy41OCAxMi40MiAwIDggMFoiIHRyYW5zZm9ybT0ic2NhbGUoNjQpIiBmaWxsPSIjMUIxRjIzIi8+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "GitHub" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "GitHub Commit Source" description: Receive commit From GitHub. required: - repoName - repoOwner - oauthToken - startingSha - branch type: object properties: repoName: title: Repository Name description: The GitHub Repository name type: string repoOwner: title: Repository Owner description: The repository owner type: string oauthToken: title: OAuth Token description: OAuth token type: string format: password x-descriptors: - urn:camel:group:credentials startingSha: title: Starting SHA description: The SHA from which we want to consume, possible values beginning, last or a specific SHA type: string default: last branch: title: Branch description: The branch we want to consume commit from type: string types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:github" - "camel:kamelet" template: from: uri: "github://commit/{{branch}}" parameters: repoName: "{{repoName}}" repoOwner: "{{repoOwner}}" oauthToken: "{{oauthToken}}" startingSha: "{{startingSha}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: github-event-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTggMEMzLjU4IDAgMCAzLjU4IDAgOEMwIDExLjU0IDIuMjkgMTQuNTMgNS40NyAxNS41OUM1Ljg3IDE1LjY2IDYuMDIgMTUuNDIgNi4wMiAxNS4yMUM2LjAyIDE1LjAyIDYuMDEgMTQuMzkgNi4wMSAxMy43MkM0IDE0LjA5IDMuNDggMTMuMjMgMy4zMiAxMi43OEMzLjIzIDEyLjU1IDIuODQgMTEuODQgMi41IDExLjY1QzIuMjIgMTEuNSAxLjgyIDExLjEzIDIuNDkgMTEuMTJDMy4xMiAxMS4xMSAzLjU3IDExLjcgMy43MiAxMS45NEM0LjQ0IDEzLjE1IDUuNTkgMTIuODEgNi4wNSAxMi42QzYuMTIgMTIuMDggNi4zMyAxMS43MyA2LjU2IDExLjUzQzQuNzggMTEuMzMgMi45MiAxMC42NCAyLjkyIDcuNThDMi45MiA2LjcxIDMuMjMgNS45OSAzLjc0IDUuNDNDMy42NiA1LjIzIDMuMzggNC40MSAzLjgyIDMuMzFDMy44MiAzLjMxIDQuNDkgMy4xIDYuMDIgNC4xM0M2LjY2IDMuOTUgNy4zNCAzLjg2IDguMDIgMy44NkM4LjcgMy44NiA5LjM4IDMuOTUgMTAuMDIgNC4xM0MxMS41NSAzLjA5IDEyLjIyIDMuMzEgMTIuMjIgMy4zMUMxMi42NiA0LjQxIDEyLjM4IDUuMjMgMTIuMyA1LjQzQzEyLjgxIDUuOTkgMTMuMTIgNi43IDEzLjEyIDcuNThDMTMuMTIgMTAuNjUgMTEuMjUgMTEuMzMgOS40NyAxMS41M0M5Ljc2IDExLjc4IDEwLjAxIDEyLjI2IDEwLjAxIDEzLjAxQzEwLjAxIDE0LjA4IDEwIDE0Ljk0IDEwIDE1LjIxQzEwIDE1LjQyIDEwLjE1IDE1LjY3IDEwLjU1IDE1LjU5QzEzLjcxIDE0LjUzIDE2IDExLjUzIDE2IDhDMTYgMy41OCAxMi40MiAwIDggMFoiIHRyYW5zZm9ybT0ic2NhbGUoNjQpIiBmaWxsPSIjMUIxRjIzIi8+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "GitHub" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "GitHub Event Source" description: Receive Events From a GitHub Repository. required: - repoName - repoOwner - oauthToken type: object properties: repoName: title: Repository Name description: The GitHub Repository name. type: string repoOwner: title: Repository Owner description: The repository owner. type: string oauthToken: title: OAuth Token description: OAuth token. type: string format: password x-descriptors: - urn:camel:group:credentials types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:github" - "camel:kamelet" template: from: uri: "github://event" parameters: repoName: "{{repoName}}" repoOwner: "{{repoOwner}}" oauthToken: "{{oauthToken}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: github-pullrequest-comment-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTggMEMzLjU4IDAgMCAzLjU4IDAgOEMwIDExLjU0IDIuMjkgMTQuNTMgNS40NyAxNS41OUM1Ljg3IDE1LjY2IDYuMDIgMTUuNDIgNi4wMiAxNS4yMUM2LjAyIDE1LjAyIDYuMDEgMTQuMzkgNi4wMSAxMy43MkM0IDE0LjA5IDMuNDggMTMuMjMgMy4zMiAxMi43OEMzLjIzIDEyLjU1IDIuODQgMTEuODQgMi41IDExLjY1QzIuMjIgMTEuNSAxLjgyIDExLjEzIDIuNDkgMTEuMTJDMy4xMiAxMS4xMSAzLjU3IDExLjcgMy43MiAxMS45NEM0LjQ0IDEzLjE1IDUuNTkgMTIuODEgNi4wNSAxMi42QzYuMTIgMTIuMDggNi4zMyAxMS43MyA2LjU2IDExLjUzQzQuNzggMTEuMzMgMi45MiAxMC42NCAyLjkyIDcuNThDMi45MiA2LjcxIDMuMjMgNS45OSAzLjc0IDUuNDNDMy42NiA1LjIzIDMuMzggNC40MSAzLjgyIDMuMzFDMy44MiAzLjMxIDQuNDkgMy4xIDYuMDIgNC4xM0M2LjY2IDMuOTUgNy4zNCAzLjg2IDguMDIgMy44NkM4LjcgMy44NiA5LjM4IDMuOTUgMTAuMDIgNC4xM0MxMS41NSAzLjA5IDEyLjIyIDMuMzEgMTIuMjIgMy4zMUMxMi42NiA0LjQxIDEyLjM4IDUuMjMgMTIuMyA1LjQzQzEyLjgxIDUuOTkgMTMuMTIgNi43IDEzLjEyIDcuNThDMTMuMTIgMTAuNjUgMTEuMjUgMTEuMzMgOS40NyAxMS41M0M5Ljc2IDExLjc4IDEwLjAxIDEyLjI2IDEwLjAxIDEzLjAxQzEwLjAxIDE0LjA4IDEwIDE0Ljk0IDEwIDE1LjIxQzEwIDE1LjQyIDEwLjE1IDE1LjY3IDEwLjU1IDE1LjU5QzEzLjcxIDE0LjUzIDE2IDExLjUzIDE2IDhDMTYgMy41OCAxMi40MiAwIDggMFoiIHRyYW5zZm9ybT0ic2NhbGUoNjQpIiBmaWxsPSIjMUIxRjIzIi8+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "GitHub" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "GitHub Pull Request Comments Source" description: Receive pull request Comments From GitHub. required: - repoName - repoOwner - oauthToken type: object properties: repoName: title: Repository Name description: The GitHub Repository name type: string repoOwner: title: Repository Owner description: The repository owner type: string oauthToken: title: OAuth Token description: OAuth token type: string format: password x-descriptors: - urn:camel:group:credentials types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:github" - "camel:kamelet" template: from: uri: "github://pullRequestComment" parameters: repoName: "{{repoName}}" repoOwner: "{{repoOwner}}" oauthToken: "{{oauthToken}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: github-pullrequest-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTggMEMzLjU4IDAgMCAzLjU4IDAgOEMwIDExLjU0IDIuMjkgMTQuNTMgNS40NyAxNS41OUM1Ljg3IDE1LjY2IDYuMDIgMTUuNDIgNi4wMiAxNS4yMUM2LjAyIDE1LjAyIDYuMDEgMTQuMzkgNi4wMSAxMy43MkM0IDE0LjA5IDMuNDggMTMuMjMgMy4zMiAxMi43OEMzLjIzIDEyLjU1IDIuODQgMTEuODQgMi41IDExLjY1QzIuMjIgMTEuNSAxLjgyIDExLjEzIDIuNDkgMTEuMTJDMy4xMiAxMS4xMSAzLjU3IDExLjcgMy43MiAxMS45NEM0LjQ0IDEzLjE1IDUuNTkgMTIuODEgNi4wNSAxMi42QzYuMTIgMTIuMDggNi4zMyAxMS43MyA2LjU2IDExLjUzQzQuNzggMTEuMzMgMi45MiAxMC42NCAyLjkyIDcuNThDMi45MiA2LjcxIDMuMjMgNS45OSAzLjc0IDUuNDNDMy42NiA1LjIzIDMuMzggNC40MSAzLjgyIDMuMzFDMy44MiAzLjMxIDQuNDkgMy4xIDYuMDIgNC4xM0M2LjY2IDMuOTUgNy4zNCAzLjg2IDguMDIgMy44NkM4LjcgMy44NiA5LjM4IDMuOTUgMTAuMDIgNC4xM0MxMS41NSAzLjA5IDEyLjIyIDMuMzEgMTIuMjIgMy4zMUMxMi42NiA0LjQxIDEyLjM4IDUuMjMgMTIuMyA1LjQzQzEyLjgxIDUuOTkgMTMuMTIgNi43IDEzLjEyIDcuNThDMTMuMTIgMTAuNjUgMTEuMjUgMTEuMzMgOS40NyAxMS41M0M5Ljc2IDExLjc4IDEwLjAxIDEyLjI2IDEwLjAxIDEzLjAxQzEwLjAxIDE0LjA4IDEwIDE0Ljk0IDEwIDE1LjIxQzEwIDE1LjQyIDEwLjE1IDE1LjY3IDEwLjU1IDE1LjU5QzEzLjcxIDE0LjUzIDE2IDExLjUzIDE2IDhDMTYgMy41OCAxMi40MiAwIDggMFoiIHRyYW5zZm9ybT0ic2NhbGUoNjQpIiBmaWxsPSIjMUIxRjIzIi8+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "GitHub" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "GitHub Pull Request Source" description: Receive pull request From GitHub. required: - repoName - repoOwner - oauthToken type: object properties: repoName: title: Repository Name description: The GitHub Repository name type: string repoOwner: title: Repository Owner description: The repository owner type: string oauthToken: title: OAuth Token description: OAuth token type: string format: password x-descriptors: - urn:camel:group:credentials types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:github" - "camel:kamelet" template: from: uri: "github://pullRequest" parameters: repoName: "{{repoName}}" repoOwner: "{{repoOwner}}" oauthToken: "{{oauthToken}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: github-tag-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiBmaWxsPSJub25lIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTggMEMzLjU4IDAgMCAzLjU4IDAgOEMwIDExLjU0IDIuMjkgMTQuNTMgNS40NyAxNS41OUM1Ljg3IDE1LjY2IDYuMDIgMTUuNDIgNi4wMiAxNS4yMUM2LjAyIDE1LjAyIDYuMDEgMTQuMzkgNi4wMSAxMy43MkM0IDE0LjA5IDMuNDggMTMuMjMgMy4zMiAxMi43OEMzLjIzIDEyLjU1IDIuODQgMTEuODQgMi41IDExLjY1QzIuMjIgMTEuNSAxLjgyIDExLjEzIDIuNDkgMTEuMTJDMy4xMiAxMS4xMSAzLjU3IDExLjcgMy43MiAxMS45NEM0LjQ0IDEzLjE1IDUuNTkgMTIuODEgNi4wNSAxMi42QzYuMTIgMTIuMDggNi4zMyAxMS43MyA2LjU2IDExLjUzQzQuNzggMTEuMzMgMi45MiAxMC42NCAyLjkyIDcuNThDMi45MiA2LjcxIDMuMjMgNS45OSAzLjc0IDUuNDNDMy42NiA1LjIzIDMuMzggNC40MSAzLjgyIDMuMzFDMy44MiAzLjMxIDQuNDkgMy4xIDYuMDIgNC4xM0M2LjY2IDMuOTUgNy4zNCAzLjg2IDguMDIgMy44NkM4LjcgMy44NiA5LjM4IDMuOTUgMTAuMDIgNC4xM0MxMS41NSAzLjA5IDEyLjIyIDMuMzEgMTIuMjIgMy4zMUMxMi42NiA0LjQxIDEyLjM4IDUuMjMgMTIuMyA1LjQzQzEyLjgxIDUuOTkgMTMuMTIgNi43IDEzLjEyIDcuNThDMTMuMTIgMTAuNjUgMTEuMjUgMTEuMzMgOS40NyAxMS41M0M5Ljc2IDExLjc4IDEwLjAxIDEyLjI2IDEwLjAxIDEzLjAxQzEwLjAxIDE0LjA4IDEwIDE0Ljk0IDEwIDE1LjIxQzEwIDE1LjQyIDEwLjE1IDE1LjY3IDEwLjU1IDE1LjU5QzEzLjcxIDE0LjUzIDE2IDExLjUzIDE2IDhDMTYgMy41OCAxMi40MiAwIDggMFoiIHRyYW5zZm9ybT0ic2NhbGUoNjQpIiBmaWxsPSIjMUIxRjIzIi8+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "GitHub" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "GitHub Tag Source" description: Receive Tags From a GitHub Repository. required: - repoName - repoOwner - oauthToken type: object properties: repoName: title: Repository Name description: The GitHub Repository name type: string repoOwner: title: Repository Owner description: The repository owner type: string oauthToken: title: OAuth Token description: OAuth token type: string format: password x-descriptors: - urn:camel:group:credentials types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:github" - "camel:kamelet" template: from: uri: "github://tag" parameters: repoName: "{{repoName}}" repoOwner: "{{repoOwner}}" oauthToken: "{{oauthToken}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-bigquery-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI1MDAiIHdpZHRoPSIyNTAwIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgICAgdmlld0JveD0iLTEuNjMzMjM1NDMzMzI4MjU2IDcuMDMyNjA5MzMwMzE1NjU2NSAxMzEuMjY1NzQ2ODI0MTY4NzYgMTE0LjYzNDM5MDY2OTY4NDM1IiB2ZXJzaW9uPSIxLjAiPgogICAgPGxpbmVhckdyYWRpZW50IGlkPSJhIiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgeDE9IjY0IiB4Mj0iNjQiIHkxPSI3LjAzNCIgeTI9IjEyMC43ODkiPgogICAgICAgIDxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzQzODdmZCIvPgogICAgICAgIDxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzQ2ODNlYSIvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxwYXRoIGQ9Ik0yNy43OSAxMTUuMjE3TDEuNTQgNjkuNzQ5YTExLjQ5OSAxMS40OTkgMCAwIDEgMC0xMS40OTlsMjYuMjUtNDUuNDY3YTExLjUgMTEuNSAwIDAgMSA5Ljk2LTUuNzVoNTIuNWExMS41IDExLjUgMCAwIDEgOS45NTkgNS43NWwyNi4yNSA0NS40NjdhMTEuNDk5IDExLjQ5OSAwIDAgMSAwIDExLjVsLTI2LjI1IDQ1LjQ2N2ExMS41IDExLjUgMCAwIDEtOS45NTkgNS43NDloLTUyLjVhMTEuNDk5IDExLjQ5OSAwIDAgMS05Ljk2LTUuNzV6IgogICAgICAgICAgZmlsbD0idXJsKCNhKSIvPgogICAgPHBhdGgKICAgICAgICAgIGQ9Ik0xMTkuMjI5IDg2LjQ4TDgwLjYyNSA0Ny44NzQgNjQgNDMuNDI1bC0xNC45MzMgNS41NUw0My4zIDY0bDQuNjM3IDE2LjcyOSA0MC45MzggNDAuOTM4IDguNjg3LS4zODZ6IgogICAgICAgICAgb3BhY2l0eT0iLjA3Ii8+CiAgICA8ZyBmaWxsPSIjZmZmIj4KICAgICAgICA8cGF0aCBkPSJNNjQgNDAuODA0Yy0xMi44MSAwLTIzLjE5NSAxMC4zODUtMjMuMTk1IDIzLjE5NiAwIDEyLjgxIDEwLjM4NSAyMy4xOTUgMjMuMTk1IDIzLjE5NVM4Ny4xOTQgNzYuODEgODcuMTk0IDY0YzAtMTIuODExLTEwLjM4NS0yMy4xOTYtMjMuMTk0LTIzLjE5Nm0wIDQwLjc5NWMtOS43MiAwLTE3LjYtNy44OC0xNy42LTE3LjZTNTQuMjggNDYuNCA2NCA0Ni40IDgxLjYgNTQuMjggODEuNiA2NCA3My43MiA4MS42IDY0IDgxLjYiLz4KICAgICAgICA8cGF0aCBkPSJNNTIuOTkgNjMuMTA0djcuMjFhMTIuNzk0IDEyLjc5NCAwIDAgMCA0LjM4IDQuNDc1VjYzLjEwNHpNNjEuNjc1IDU3LjAyNnYxOS40MTFjLjc0NS4xMzcgMS41MDcuMjIgMi4yOS4yMi43MTQgMCAxLjQxLS4wNzUgMi4wOTMtLjE4OVY1Ny4wMjZ6TTcwLjc2NiA2Ni4xdjguNTYyYTEyLjc4NiAxMi43ODYgMCAwIDAgNC4zODItNC43di0zLjg2MXpNODAuNjkxIDc4LjI4N2wtMi40MDMgMi40MDVhMS4wODggMS4wODggMCAwIDAgMCAxLjUzN2w5LjExNSA5LjExMmExLjA4OCAxLjA4OCAwIDAgMCAxLjUzNyAwbDIuNDAzLTIuNDAyYTEuMDkyIDEuMDkyIDAgMCAwIDAtMS41MzZsLTkuMTE2LTkuMTE2YTEuMDkgMS4wOSAwIDAgMC0xLjUzNiAwIi8+CiAgICA8L2c+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Big Query" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Google Big Query Sink" description: Send data to a Google Big Query table. required: - projectId - dataset - table - serviceAccountKey type: object properties: projectId: title: Google Cloud Project Id description: The Google Cloud Project ID. type: string dataset: title: Big Query Dataset Id description: The Big Query Dataset ID. type: string table: title: Big Query Table Id description: The Big Query Table ID. type: string serviceAccountKey: title: Service Account Key description: The service account key to use as credentials for the BigQuery Service. You must encode this value in base64. type: binary x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:core" - "camel:kamelet" - "camel:google-bigquery" - "camel:jackson" template: from: uri: "kamelet:source" steps: - unmarshal: json: library: Jackson - to: uri: "google-bigquery:{{projectId}}:{{dataset}}:{{table}}" parameters: serviceAccountKey: "base64:{{serviceAccountKey}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-calendar-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjE4NiAzOCA3NiA3NiI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTI0NCA1NmgtNDB2NDBoNDBWNTZ6Ii8+PHBhdGggZmlsbD0iI0VBNDMzNSIgZD0iTTI0NCAxMTRsMTgtMThoLTE4djE4eiIvPjxwYXRoIGZpbGw9IiNGQkJDMDQiIGQ9Ik0yNjIgNTZoLTE4djQwaDE4VjU2eiIvPjxwYXRoIGZpbGw9IiMzNEE4NTMiIGQ9Ik0yNDQgOTZoLTQwdjE4aDQwVjk2eiIvPjxwYXRoIGZpbGw9IiMxODgwMzgiIGQ9Ik0xODYgOTZ2MTJjMCAzLjMxNSAyLjY4NSA2IDYgNmgxMlY5NmgtMTh6Ii8+PHBhdGggZmlsbD0iIzE5NjdEMiIgZD0iTTI2MiA1NlY0NGMwLTMuMzE1LTIuNjg1LTYtNi02aC0xMnYxOGgxOHoiLz48cGF0aCBmaWxsPSIjNDI4NUY0IiBkPSJNMjQ0IDM4aC01MmMtMy4zMTUgMCAtNiAyLjY4NS02IDZ2NTJoMThWNTZoNDBWMzh6Ii8+PHBhdGggZmlsbD0iIzQyODVGNCIgZD0iTTIxMi4yMDUgODcuMDNjLTEuNDk1LTEuMDEtMi41My0yLjQ4NS0zLjA5NS00LjQzNWwzLjQ3LTEuNDNjLjMxNSAxLjIuODY1IDIuMTMgMS42NSAyLjc5Ljc4LjY2IDEuNzMuOTg1IDIuODQuOTg1IDEuMTM1IDAgMi4xMS0uMzQ1IDIuOTI1LTEuMDM1czEuMjI1LTEuNTcgMS4yMjUtMi42MzVjMC0xLjA5LS40My0xLjk4LTEuMjktMi42Ny0uODYtLjY5LTEuOTQtMS4wMzUtMy4yMy0xLjAzNWgtMi4wMDVWNzQuMTNoMS44YzEuMTEgMCAyLjA0NS0uMyAyLjgwNS0uOS43Ni0uNiAxLjE0LTEuNDIgMS4xNC0yLjQ2NSAwIC0uOTMtLjM0LTEuNjctMS4wMi0yLjIyNS0uNjgtLjU1NS0xLjU0LS44MzUtMi41ODUtLjgzNS0xLjAyIDAgLTEuODMuMjctMi40My44MTVhNC43ODQgNC43ODQgMCAwIDAgLTEuMzEgMi4wMDVsLTMuNDM1LTEuNDNjLjQ1NS0xLjI5IDEuMjktMi40MyAyLjUxNS0zLjQxNSAxLjIyNS0uOTg1IDIuNzktMS40OCA0LjY5LTEuNDggMS40MDUgMCAyLjY3LjI3IDMuNzkuODE1IDEuMTIuNTQ1IDIgMS4zIDIuNjM1IDIuMjYuNjM1Ljk2NS45NSAyLjA0NS45NSAzLjI0NSAwIDEuMjI1LS4yOTUgMi4yNi0uODg1IDMuMTEtLjU5Ljg1LTEuMzE1IDEuNS0yLjE3NSAxLjk1NXYuMjA1YTYuNjA1IDYuNjA1IDAgMCAxIDIuNzkgMi4xNzVjLjcyNS45NzUgMS4wOSAyLjE0IDEuMDkgMy41IDAgMS4zNi0uMzQ1IDIuNTc1LTEuMDM1IDMuNjRzLTEuNjQ1IDEuOTA1LTIuODU1IDIuNTE1Yy0xLjIxNS42MS0yLjU4LjkyLTQuMDk1LjkyLTEuNzU1LjAwNS0zLjM3NS0uNS00Ljg3LTEuNTF6TTIzMy41MiA2OS44MWwtMy44MSAyLjc1NS0xLjkwNS0yLjg5IDYuODM1LTQuOTNoMi42MlY4OGgtMy43NFY2OS44MXoiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Calendar" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Google Calendar Source" description: Receive event data from Google Calendar. required: - index - calendarId - clientId - accessToken - refreshToken - clientSecret - applicationName type: object properties: index: title: Index description: An index for the Google Calendar endpoint. type: string calendarId: title: Calendar ID description: The calendar ID to use as the source of event data. type: string clientId: title: Client Id description: The Client ID of the Google Calendar application. type: string format: password x-descriptors: - urn:camel:group:credentials clientSecret: title: Client Secret description: The Client secret of the Google Calendar application. type: string format: password x-descriptors: - urn:camel:group:credentials accessToken: title: Access Token description: The OAuth 2 access token for the Google Calendar application. This token typically expires after an hour. For long term usage, set the `refreshToken` property. type: string format: password x-descriptors: - urn:camel:group:credentials refreshToken: title: Refresh Token description: The OAuth 2 refresh token for the Google Calendar application. The Google Calendar component can obtain a new `accessToken` whenever the current one expires. Set this value for long term usage. type: string format: password x-descriptors: - urn:camel:group:credentials delay: title: Delay description: The number of milliseconds before the next poll. type: integer default: 500 applicationName: title: Application name description: The Google Calendar application name. type: string syncFlow: title: Sync Flow description: Specifies to sync events for incremental synchronization. type: boolean default: false consumeFromNow: title: Consume from now description: Specfies to consume events in the calendar from now on. type: boolean default: true dataTypes: out: default: json headers: CamelGoogleCalendarEventId: title: Camel Google Calendar Event Id description: The calendar event id type: string types: json: format: "application-json" description: Json representation of a Google Calendar event object. mediaType: application/json cloudevents: format: "google-calendar-stream:application-cloudevents" description: Output data type represents Google Calendar Stream response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with respective data from the Calendar Events and its derived object. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.google.calendar.stream.consume" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Calendar Event Id with prefix "google.calendar.stream.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. The Calendar event type. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:jackson" - "camel:google-calendar" - "camel:kamelet" template: from: uri: "google-calendar-stream://{{index}}" parameters: clientId: "{{clientId}}" calendarId: "{{calendarId}}" accessToken: "{{accessToken}}" refreshToken: "{{refreshToken}}" clientSecret: "{{clientSecret}}" delay: "{{delay}}" applicationName: "{{applicationName}}" syncFlow: "{{syncFlow}}" consumeFromNow: "{{consumeFromNow}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-functions-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjMxcHgiIHZpZXdCb3g9IjAgMCAyNTYgMjMxIiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDxkZWZzPgogICAgICAgIDxwYXRoIGQ9Ik0yNTIuOTI1ODU0LDEwMy4yMzcwNzcgTDIwMC4zMjczNDQsMTEuNzU5NjY3IEMxOTYuMzAyNTc5LDQuNjIyMjU3MDMgMTg4LjgwMDU0LDAuMTQ4NDI0NzI2IDE4MC42MDc5MDIsMCBMNzUuMzkwODgxNCwwIEM2Ny4xOTcwOTEyLDAuMTQ0Mzg1NDggNTkuNjkzMTk4NCw0LjYxOTMyMzYzIDU1LjY3MTQzOTgsMTEuNzU5NjY3IEwzLjA1MjkyOTg1LDEwMi45OTcwODMgQy0xLjAxNzY0MzI4LDExMC4wODAzNzMgLTEuMDE3NjQzMjgsMTE4Ljc5MzE0NiAzLjA1MjkyOTg1LDEyNS44NzY0MzYgTDU1LjY1MTQ0MDQsMjE3Ljg3MzgzIEM1OS42MzE5NzU1LDIyNS4xMTI3MDcgNjcuMTE1OTA1MiwyMjkuNzM1MTM0IDc1LjM3MDg4MiwyMzAuMDUzNDg2IEwxODAuNTg3OTAzLDIzMC4wNTM0ODYgQzE4OC44NDI0NDIsMjI5Ljc3MDE0NCAxOTYuMzM5ODA5LDIyNS4xNjY4OTYgMjAwLjMyNzM0NCwyMTcuOTMzODI5IEwyNTIuOTI1ODU0LDEyNi40NTY0MTkgQzI1Ny4wMjQ3MTUsMTE5LjI1OTMxMSAyNTcuMDI0NzE1LDExMC40MzQxODUgMjUyLjkyNTg1NCwxMDMuMjM3MDc3IFoiIGlkPSJwYXRoLTEiPjwvcGF0aD4KICAgIDwvZGVmcz4KCQk8Zz4KCQkJCTxtYXNrIGlkPSJtYXNrLTIiIGZpbGw9IndoaXRlIj4KCQkJCQkJPHVzZSB4bGluazpocmVmPSIjcGF0aC0xIj48L3VzZT4KCQkJCTwvbWFzaz4KCQkJCTxnIGZpbGwtcnVsZT0ibm9uemVybyI+PC9nPgoJCQkJPHBhdGggZD0iTTI1Mi45MjU4NTQsMTAzLjIzNzA3NyBMMjAwLjMyNzM0NCwxMS43NTk2NjcgQzE5Ni4zMDI1NzksNC42MjIyNTcwMyAxODguODAwNTQsMC4xNDg0MjQ3MjYgMTgwLjYwNzkwMiwwIEw3NS4zOTA4ODE0LDAgQzY3LjE5NzA5MTIsMC4xNDQzODU0OCA1OS42OTMxOTg0LDQuNjE5MzIzNjMgNTUuNjcxNDM5OCwxMS43NTk2NjcgTDMuMDUyOTI5ODUsMTAyLjk5NzA4MyBDLTEuMDE3NjQzMjgsMTEwLjA4MDM3MyAtMS4wMTc2NDMyOCwxMTguNzkzMTQ2IDMuMDUyOTI5ODUsMTI1Ljg3NjQzNiBMNTUuNjUxNDQwNCwyMTcuODczODMgQzU5LjYzMTk3NTUsMjI1LjExMjcwNyA2Ny4xMTU5MDUyLDIyOS43MzUxMzQgNzUuMzcwODgyLDIzMC4wNTM0ODYgTDE4MC41ODc5MDMsMjMwLjA1MzQ4NiBDMTg4Ljg0MjQ0MiwyMjkuNzcwMTQ0IDE5Ni4zMzk4MDksMjI1LjE2Njg5NiAyMDAuMzI3MzQ0LDIxNy45MzM4MjkgTDI1Mi45MjU4NTQsMTI2LjQ1NjQxOSBDMjU3LjAyNDcxNSwxMTkuMjU5MzExIDI1Ny4wMjQ3MTUsMTEwLjQzNDE4NSAyNTIuOTI1ODU0LDEwMy4yMzcwNzcgWiIgZmlsbD0iIzQyODVGNCIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xODcuMTY3NjA1LDg0LjczMTYwMyBMMTc5LjkxNTcxMSw5Mi42NDA5NDg1IEwxODEuNTQ5Mzc5LDEzOS42Mzg3OTcgTDE3NC42NzYwMTksMTQ5LjYwMDE5IEwxNzAuNjkxNDYyLDE0NS42MTU2MzMgTDE3NC4zNTcyNTQsMTQ1LjYxNTYzMyBMMTc0LjM1NzI1NCwxMjkuMzE4Nzk1IEwxNTYuNzY1NDM1LDExMS43MjY5NzYgTDE0My40Njg3NDYsMTE4LjM3MzA0NyBMOTkuMzY3ODkyOSw3NC4xNzI1MjcxIEw3OC4xMzAyMDQ1LDg1LjU0ODQzNzEgTDc1LjUwMDM5NywxMDcuNTgzMDM3IEw4Mi45NTE1MTg0LDE0Ny45MDY3NTMgTDkzLjc0OTY2NzcsMTU4LjQ4NTc1MiBMODguODI4NzM5OSwxNjUuNDc4NjQ5IEwxNTMuMDc2MDk4LDIzMS4yMzY4MTYgTDE3OS45MTU3MTEsMjMxLjIzNjgxNiBDMTg4LjEzODYxNCwyMzAuOTU0NTYgMTk3LjA0NDI3NiwyMjUuNTY1Njk4IDIwMS4wMTY1MjgsMjE4LjM2MDM1MiBMMjQ0Ljc5NTMzNiwxNDIuMzU2OTM0IEwxODcuMTY3NjA1LDg0LjczMTYwMyBaIiBmaWxsPSIjMDAwMDAwIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG9wYWNpdHk9IjAuMDcwMDAwMDAwMyIgbWFzaz0idXJsKCNtYXNrLTIpIj48L3BhdGg+CgkJCQk8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0yKSIgcG9pbnRzPSI4OC44Mjg3Mzk5IDE2NS40Nzg2NDkgOTkuMzY3ODkyOSAxNTQuOTM5NDk2IDgzLjU2OTEyNDcgMTM5LjE0MDcyOCA4My41NjkxMjQ3IDg5Ljk3MTI5NTMgOTkuMzY3ODkyOSA3NC4xNzI1MjcxIDg4LjgyODczOTkgNjMuNjMzMzc0MSA2Ny43MzA1MTEgODQuNzMxNjAzIDY3LjczMDUxMSAxNDQuMzgwNDIiPjwvcG9seWdvbj4KCQkJCTxjaXJjbGUgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI21hc2stMikiIGN4PSIxMDUuMTQ1NSIgY3k9IjExNC41NTYwMTIiIHI9IjcuNDcxMDQ0MjMiPjwvY2lyY2xlPgoJCQkJPGNpcmNsZSBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0yKSIgY3g9IjEyNy40OTg4NjUiIGN5PSIxMTQuNTU2MDEyIiByPSI3LjQ3MTA0NDIzIj48L2NpcmNsZT4KCQkJCTxjaXJjbGUgZmlsbD0iI0ZGRkZGRiIgZmlsbC1ydWxlPSJub256ZXJvIiBtYXNrPSJ1cmwoI21hc2stMikiIGN4PSIxNDkuODUyMjI5IiBjeT0iMTE0LjU1NjAxMiIgcj0iNy40NzEwNDQyMyI+PC9jaXJjbGU+CgkJCQk8cG9seWdvbiBmaWxsPSIjRkZGRkZGIiBmaWxsLXJ1bGU9Im5vbnplcm8iIG1hc2s9InVybCgjbWFzay0yKSIgcG9pbnRzPSIxNjYuMDY5Mzc2IDYzLjYzMzM3NDEgMTU1LjUzMDIyMyA3NC4xNzI1MjcxIDE3MS4zMjg5OTEgODkuOTcxMjk1MyAxNzEuMzI4OTkxIDEzOS4xNDA3MjggMTU1LjUzMDIyMyAxNTQuOTM5NDk2IDE2Ni4wNjkzNzYgMTY1LjQ3ODY0OSAxODcuMTY3NjA1IDE0NC4zODA0MiAxODcuMTY3NjA1IDg0LjczMTYwMyI+PC9wb2x5Z29uPgoJCTwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Functions" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Google Functions Sink" description: Send data to Google Functions. required: - projectId - functionName - region - serviceAccountKey type: object properties: projectId: title: Project Id description: The Google Cloud Functions Project ID. type: string region: title: Region description: The region where Google Cloud Functions has been deployed. type: string functionName: title: Function Name description: The Function name. type: string serviceAccountKey: title: Service Account Key description: The path to the service account key file that provides credentials for the Google Cloud Functions platform. You must encode this value in base64. type: binary x-descriptors: - urn:camel:group:credentials dependencies: - "camel:kamelet" - "camel:google-functions" - "camel:jackson" template: from: uri: kamelet:source steps: - to: uri: "google-functions://{{functionName}}" parameters: serviceAccountKey: "base64:{{serviceAccountKey}}" project: "{{projectId}}" location: "{{region}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-mail-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjUyIDQyIDg4IDY2Ij4KPHBhdGggZmlsbD0iIzQyODVmNCIgZD0iTTU4IDEwOGgxNFY3NEw1MiA1OXY0M2MwIDMuMzIgMi42OSA2IDYgNiIvPgo8cGF0aCBmaWxsPSIjMzRhODUzIiBkPSJNMTIwIDEwOGgxNGMzLjMyIDAgNi0yLjY5IDYtNlY1OWwtMjAgMTUiLz4KPHBhdGggZmlsbD0iI2ZiYmMwNCIgZD0iTTEyMCA0OHYyNmwyMC0xNXYtOGMwLTcuNDItOC40Ny0xMS42NS0xNC40LTcuMiIvPgo8cGF0aCBmaWxsPSIjZWE0MzM1IiBkPSJNNzIgNzRWNDhsMjQgMTggMjQtMTh2MjZMOTYgOTIiLz4KPHBhdGggZmlsbD0iI2M1MjIxZiIgZD0iTTUyIDUxdjhsMjAgMTVWNDhsLTUuNi00LjJjLTUuOTQtNC40NS0xNC40LS4yMi0xNC40IDcuMiIvPgo8L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Mail" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Google Mail Source" description: Receive data from Google Mail. required: - index - clientId - accessToken - refreshToken - clientSecret - applicationName type: object properties: index: title: Index description: An index for the google mail endpoint. type: string clientId: title: Client ID description: Client ID of the gmail application. type: string format: password x-descriptors: - urn:camel:group:credentials clientSecret: title: Client Secret description: Client Secret of the gmail application. type: string format: password x-descriptors: - urn:camel:group:credentials accessToken: title: Access Token description: OAuth 2 access token for google mail application. This typically expires after an hour so refreshToken is recommended for long term usage. type: string format: password x-descriptors: - urn:camel:group:credentials refreshToken: title: Refresh Token description: OAuth 2 refresh token for google mail application. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. type: string format: password x-descriptors: - urn:camel:group:credentials delay: title: Delay description: The number of milliseconds before the next poll type: integer default: 500 applicationName: title: Application name description: Google Mail application name type: string markAsRead: title: Mark as Read description: Mark the message as read once it has been consumed type: boolean default: true labels: title: Gmail Labels description: Comma separated list of labels to take into account type: string example: "inbox" query: title: Gmail Query description: The query to execute on gmail box type: string example: "is:unread -category:(promotions OR social)" default: "is:unread" dataTypes: out: default: json headers: CamelGoogleMailId: title: Camel Google Mail Id description: The ID of the message type: string CamelGoogleMailStreamTo: title: Camel Google Mail To Address description: The recipient of the message type: string CamelGoogleMailStreamFrom: title: Camel Google Mail From Address description: The emitter of the message type: string CamelGoogleMailStreamCc: title: Camel Google Mail Cc description: The carbon copy of the message type: string CamelGoogleMailStreamBcc: title: Camel Google Mail Bcc description: The blind carbon cpoy of the message type: string CamelGoogleMailStreamSubject: title: Camel Google Mail Subject description: The subject of the message type: string types: json: format: "application-json" description: Json representation of a Google Mail event object. mediaType: application/json cloudevents: format: "google-mail-stream:application-cloudevents" description: Output data type represents Google Mail Streams response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with respective data from the Mail and its derived object. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.google.mail.stream.consume" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Mail From with prefix "google.mail.stream.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. The Calendar event type. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:jackson" - "camel:kamelet" - "camel:google-mail" template: from: uri: "google-mail-stream://{{index}}" parameters: clientId: "{{clientId}}" accessToken: "{{accessToken}}" refreshToken: "{{refreshToken}}" clientSecret: "{{clientSecret}}" delay: "{{delay}}" applicationName: "{{applicationName}}" markAsRead: "{{markAsRead}}" labels: "{{labels}}" query: "{{query}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-pubsub-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9Ii0xLjYzMzIzNTQzIDcuMDMyNjA5MzMgMTMxLjI2NTc0NjgyIDExNC40MzkzOTA2NyIgd2lkdGg9IjI1MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI2NCIgeDI9IjY0IiB5MT0iNy4wMzQiIHkyPSIxMjAuNzg5Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0Mzg3ZmQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0NjgzZWEiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Im0yNy43OSAxMTUuMjE3LTI2LjI1LTQ1LjQ2OGExMS40OTkgMTEuNDk5IDAgMCAxIDAtMTEuNDk5bDI2LjI1LTQ1LjQ2N2ExMS41IDExLjUgMCAwIDEgOS45Ni01Ljc1aDUyLjVhMTEuNSAxMS41IDAgMCAxIDkuOTU5IDUuNzVsMjYuMjUgNDUuNDY3YTExLjQ5OSAxMS40OTkgMCAwIDEgMCAxMS41bC0yNi4yNSA0NS40NjdhMTEuNSAxMS41IDAgMCAxIC05Ljk1OSA1Ljc0OWgtNTIuNWExMS40OTkgMTEuNDk5IDAgMCAxIC05Ljk2LTUuNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0ibTEyMS4wNTQgNzkuNTgtMzEuODM2LTMxLjgzNC01Ljg1OCAxLjIxNC0xNC42MDMtMTQuNjAyLTQuNjczIDguNzM5LTIuNTM0IDEwLjEwOSA0LjI4OSA0LjI5LTguMjM4IDEuNjgyLTExLjI5Ni0xMS4yOTYtNy42NyA3LjM3MyAxNC4xMjMgMTQuMTI1LTE0Ljk3IDExLjkgNDAuMTkzIDQwLjE5MiAxOS41ODEtLjE5eiIgb3BhY2l0eT0iLjA3Ii8+PGcgZmlsbD0iI2ZmZiI+PGNpcmNsZSBjeD0iODUuNTE5IiBjeT0iNTEuNTc2IiByPSI1LjMyNCIvPjxjaXJjbGUgY3g9IjQyLjQ4IiBjeT0iNTEuNTc2IiByPSI1LjMyNCIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iODguODQ5IiByPSI1LjMyNSIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iNjQiIHI9IjguNjAyIi8+PGNpcmNsZSBjeD0iNDIuNDgiIGN5PSI3Ni40MjQiIHI9IjYuNzU4Ii8+PGNpcmNsZSBjeD0iODUuNTE5IiBjeT0iNzYuNDI0IiByPSI2Ljc1OCIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iMzkuMTUxIiByPSI2Ljc1OSIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Pubsub" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Google Pubsub Sink" description: Send messages to Google Cloud Pub/Sub. required: - projectId - destinationName type: object properties: projectId: title: Project Id description: The Google Cloud Pub/Sub Project ID. type: string destinationName: title: Destination Name description: The destination name. type: string serviceAccountKey: title: Service Account Key description: The service account key to use as credentials for the Pub/Sub publisher/subscriber. You must encode this value in base64. type: binary x-descriptors: - urn:camel:group:credentials dependencies: - "camel:kamelet" - "camel:google-pubsub" - "camel:jackson" template: from: uri: kamelet:source steps: - to: uri: "google-pubsub://{{projectId}}:{{destinationName}}" parameters: serviceAccountKey: "base64:{{?serviceAccountKey}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-pubsub-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9Ii0xLjYzMzIzNTQzIDcuMDMyNjA5MzMgMTMxLjI2NTc0NjgyIDExNC40MzkzOTA2NyIgd2lkdGg9IjI1MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI2NCIgeDI9IjY0IiB5MT0iNy4wMzQiIHkyPSIxMjAuNzg5Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0Mzg3ZmQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0NjgzZWEiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Im0yNy43OSAxMTUuMjE3LTI2LjI1LTQ1LjQ2OGExMS40OTkgMTEuNDk5IDAgMCAxIDAtMTEuNDk5bDI2LjI1LTQ1LjQ2N2ExMS41IDExLjUgMCAwIDEgOS45Ni01Ljc1aDUyLjVhMTEuNSAxMS41IDAgMCAxIDkuOTU5IDUuNzVsMjYuMjUgNDUuNDY3YTExLjQ5OSAxMS40OTkgMCAwIDEgMCAxMS41bC0yNi4yNSA0NS40NjdhMTEuNSAxMS41IDAgMCAxIC05Ljk1OSA1Ljc0OWgtNTIuNWExMS40OTkgMTEuNDk5IDAgMCAxIC05Ljk2LTUuNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0ibTEyMS4wNTQgNzkuNTgtMzEuODM2LTMxLjgzNC01Ljg1OCAxLjIxNC0xNC42MDMtMTQuNjAyLTQuNjczIDguNzM5LTIuNTM0IDEwLjEwOSA0LjI4OSA0LjI5LTguMjM4IDEuNjgyLTExLjI5Ni0xMS4yOTYtNy42NyA3LjM3MyAxNC4xMjMgMTQuMTI1LTE0Ljk3IDExLjkgNDAuMTkzIDQwLjE5MiAxOS41ODEtLjE5eiIgb3BhY2l0eT0iLjA3Ii8+PGcgZmlsbD0iI2ZmZiI+PGNpcmNsZSBjeD0iODUuNTE5IiBjeT0iNTEuNTc2IiByPSI1LjMyNCIvPjxjaXJjbGUgY3g9IjQyLjQ4IiBjeT0iNTEuNTc2IiByPSI1LjMyNCIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iODguODQ5IiByPSI1LjMyNSIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iNjQiIHI9IjguNjAyIi8+PGNpcmNsZSBjeD0iNDIuNDgiIGN5PSI3Ni40MjQiIHI9IjYuNzU4Ii8+PGNpcmNsZSBjeD0iODUuNTE5IiBjeT0iNzYuNDI0IiByPSI2Ljc1OCIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iMzkuMTUxIiByPSI2Ljc1OSIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Pubsub" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Google Pubsub Source" description: Consume messages from Google Cloud Pub/Sub. required: - projectId - subscriptionName type: object properties: projectId: title: Project Id description: The Google Cloud Pub/Sub Project ID. type: string subscriptionName: title: Subscription Name description: The subscription name. type: string serviceAccountKey: title: Service Account Key description: The service account key to use as credentials for the Pub/Sub publisher/subscriber. You must encode this value in base64. type: binary x-descriptors: - urn:camel:group:credentials synchronousPull: title: Synchronous Pull description: Specifies to synchronously pull batches of messages. type: boolean default: false maxMessagesPerPoll: title: Max Messages Per Poll description: The maximum number of messages to receive from the server in a single API call. type: integer default: 1 concurrentConsumers: title: Concurrent Consumers description: The number of parallel streams to consume from the subscription. type: integer default: 1 dependencies: - "camel:kamelet" - "camel:google-pubsub" - "camel:jackson" template: from: uri: "google-pubsub://{{projectId}}:{{subscriptionName}}" parameters: serviceAccountKey: "base64:{{?serviceAccountKey}}" synchronousPull: "{{synchronousPull}}" maxMessagesPerPoll: "{{maxMessagesPerPoll}}" concurrentConsumers: "{{concurrentConsumers}}" steps: - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-sheets-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA2NCA4OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQgODg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMERDNTRDO30KCS5zdDF7ZmlsbDojMDg5NjJEO30KCS5zdDJ7ZmlsbDojRkRGRkZGO30KPC9zdHlsZT4KPGcgaWQ9IkxheWVyXzQiPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTU4LDg4SDZjLTMuMywwLTYtMi43LTYtNlY2YzAtMy4zLDIuNy02LDYtNmgzNmwyMiwyMnY2MEM2NCw4NS4zLDYxLjMsODgsNTgsODh6Ii8+Cgk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDIsMGwyMiwyMkg0MlYweiIvPgoJPHBhdGggY2xhc3M9InN0MiIgZD0iTTEyLDM0LjV2MjhoNDB2LTI4SDEyeiBNMTcsMzkuNWgxMi41VjQ2SDE3VjM5LjV6IE0xNyw1MWgxMi41djYuNUgxN1Y1MXogTTQ3LDU3LjVIMzQuNVY1MUg0N1Y1Ny41eiBNNDcsNDYKCQlIMzQuNXYtNi41SDQ3VjQ2eiIvPgo8L2c+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Sheets" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Google Sheets Sink" description: Send data to Google Sheets and update/append values on a spreadsheet. required: - spreadsheetId - clientId - accessToken - refreshToken - clientSecret type: object properties: spreadsheetId: title: Spreadsheet ID description: The Spreadsheet ID to be used as identifier type: string clientId: title: Client Id description: Client ID of the sheets application type: string format: password x-descriptors: - urn:camel:group:credentials clientSecret: title: Client Secret description: Client Secret of the sheets application type: string format: password x-descriptors: - urn:camel:group:credentials accessToken: title: Access Token description: OAuth 2 access token for google sheets application. This typically expires after an hour so refreshToken is recommended for long term usage. type: string format: password x-descriptors: - urn:camel:group:credentials refreshToken: title: Refresh Token description: OAuth 2 refresh token for google sheets application. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. type: string format: password x-descriptors: - urn:camel:group:credentials applicationName: title: Application Name description: Google Sheets application name type: string operation: title: Operation Mode description: Operation to execute (update or append) type: string enum: [ "update", "append" ] default: append example: append range: title: Cells Range description: The cell range of rows and columns to write data to. type: string example: "A1:B3" majorDimension: title: Major Dimension description: Specifies the major dimension that the given values should use (ROWS or COLUMNS). type: string enum: [ "COLUMNS", "ROWS" ] default: "ROWS" example: "ROWS" columnNames: title: Column Names description: Optional custom column names that map to cell coordinates based on their position. type: string default: "A" valueInputOption: title: Value Input Option description: Controls how the entered values should be be interpreted when adding them. type: string enum: [ "USER_ENTERED", "RAW" ] default: "USER_ENTERED" example: "USER_ENTERED" dataTypes: in: default: json-struct types: json-struct: format: "google-sheets:application-x-struct" description: Special Json representation of Google Sheets ValueRange object with just row and column values as a generic JsonNode. headers: CamelGoogleSheets.range: title: Range description: Cells range to write data to. default: A:A type: string CamelGoogleSheets.spreadsheetId: title: Spreadsheet id description: The Spreadsheet ID to be used as identifier. type: string CamelGoogleSheets.majorDimension: title: Major dimension description: Specifies the major dimension that the given values should use (ROWS or COLUMNS). default: ROWS type: string CamelGoogleSheets.columnNames: title: Column Names description: Optional custom column names that map to cell coordinates based on their position. default: A type: string CamelGoogleSheets.valueInputOption: title: Value Input Option description: Controls how the entered values should be be interpreted when adding them. default: USER_ENTERED type: string mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:google-sheets" template: from: uri: "kamelet:source" steps: - setHeader: name: CamelGoogleSheets.spreadsheetId simple: "{{spreadsheetId}}" - setHeader: name: CamelGoogleSheets.range simple: "{{?range}}" - setHeader: name: CamelGoogleSheets.majorDimension simple: "{{?majorDimension}}" - setHeader: name: CamelGoogleSheets.columnNames simple: "{{?columnNames}}" - setHeader: name: CamelGoogleSheets.valueInputOption simple: "{{?valueInputOption}}" - transform: toType: "google-sheets:application-x-struct" - to: uri: "google-sheets:data/{{operation}}" parameters: spreadsheetId: "{{spreadsheetId}}" clientId: "{{clientId}}" accessToken: "{{accessToken}}" refreshToken: "{{refreshToken}}" clientSecret: "{{clientSecret}}" applicationName: "{{?applicationName}}" range: "{{?range}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-sheets-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI1LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA2NCA4OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjQgODg7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMERDNTRDO30KCS5zdDF7ZmlsbDojMDg5NjJEO30KCS5zdDJ7ZmlsbDojRkRGRkZGO30KPC9zdHlsZT4KPGcgaWQ9IkxheWVyXzQiPgoJPHBhdGggY2xhc3M9InN0MCIgZD0iTTU4LDg4SDZjLTMuMywwLTYtMi43LTYtNlY2YzAtMy4zLDIuNy02LDYtNmgzNmwyMiwyMnY2MEM2NCw4NS4zLDYxLjMsODgsNTgsODh6Ii8+Cgk8cGF0aCBjbGFzcz0ic3QxIiBkPSJNNDIsMGwyMiwyMkg0MlYweiIvPgoJPHBhdGggY2xhc3M9InN0MiIgZD0iTTEyLDM0LjV2MjhoNDB2LTI4SDEyeiBNMTcsMzkuNWgxMi41VjQ2SDE3VjM5LjV6IE0xNyw1MWgxMi41djYuNUgxN1Y1MXogTTQ3LDU3LjVIMzQuNVY1MUg0N1Y1Ny41eiBNNDcsNDYKCQlIMzQuNXYtNi41SDQ3VjQ2eiIvPgo8L2c+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Sheets" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Google Sheets Source" description: Receive data from Google Sheets. required: - spreadsheetId - clientId - accessToken - refreshToken - clientSecret type: object properties: spreadsheetId: title: Spreadsheet ID description: The Spreadsheet ID to be used as events source type: string clientId: title: Client Id description: Client ID of the sheets application type: string format: password x-descriptors: - urn:camel:group:credentials clientSecret: title: Client Secret description: Client Secret of the sheets application type: string format: password x-descriptors: - urn:camel:group:credentials accessToken: title: Access Token description: OAuth 2 access token for google sheets application. This typically expires after an hour so refreshToken is recommended for long term usage. type: string format: password x-descriptors: - urn:camel:group:credentials refreshToken: title: Refresh Token description: OAuth 2 refresh token for google sheets application. Using this, the Google Calendar component can obtain a new accessToken whenever the current one expires - a necessity if the application is long-lived. type: string format: password x-descriptors: - urn:camel:group:credentials delay: title: Delay description: The number of milliseconds before the next poll type: integer default: 500 repeatCount: title: Repeat Count description: Specifies a maximum limit of number of fires type: integer applicationName: title: Application name description: Google Sheets application name type: string splitResults: title: Split Results description: True if value range result should be split into rows or columns to process each of them individually. type: boolean default: true range: title: Cells Range description: The range of rows and columns in a sheet to get data from. type: string example: "A1:B3" majorDimension: title: Major Dimension description: Specifies the major dimension that the given values should use (ROWS or COLUMNS). type: string enum: [ "COLUMNS", "ROWS" ] default: "ROWS" example: "ROWS" columnNames: title: Column Names description: Optional custom column names that map to cell coordinates based on their position. type: string default: "A" dataTypes: out: default: json headers: CamelGoogleSheets.range: title: Range description: Cells range to write data to. default: A:A type: string CamelGoogleSheets.spreadsheetId: title: Spreadsheet id description: The Spreadsheet ID to be used as identifier. type: string CamelGoogleSheets.majorDimension: title: Major dimension description: Specifies the major dimension that the given values should use (ROWS or COLUMNS). default: ROWS type: string CamelGoogleSheets.columnNames: title: Column Names description: Optional custom column names that map to cell coordinates based on their position. default: A type: string CamelGoogleSheets.splitResults: title: Split Results description: True if value range result should be split into rows or columns to process each of them individually. default: "true" type: boolean types: json: format: "application-json" description: Json representation of a GoogleSheets ValueRange object that holds all values for the given cell range. mediaType: application/json json-struct: format: "google-sheets:application-x-struct" description: Special Json representation of Google Sheets ValueRange object with just row and column values as a generic JsonNode. mediaType: application/json cloudevents: format: "google-sheets-stream:application-cloudevents" description: Output data type represents Google Sheets Stream response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with respective data from the Spreadsheet and its derived object. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.google.sheets.stream.consume" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Spreadsheet Id with prefix "google.sheets.stream.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. Usually the Spreadsheet URL. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:google-sheets" template: from: uri: "google-sheets-stream://{{spreadsheetId}}" parameters: clientId: "{{clientId}}" accessToken: "{{accessToken}}" refreshToken: "{{refreshToken}}" clientSecret: "{{clientSecret}}" delay: "{{delay}}" applicationName: "{{?applicationName}}" splitResults: "{{splitResults}}" range: "{{?range}}" repeatCount: "{{?repeatCount}}" steps: - marshal: json: {} - setHeader: name: CamelGoogleSheets.spreadsheetId simple: "{{spreadsheetId}}" - setHeader: name: CamelGoogleSheets.range simple: "{{?range}}" - setHeader: name: CamelGoogleSheets.majorDimension simple: "{{?majorDimension}}" - setHeader: name: CamelGoogleSheets.columnNames simple: "{{?columnNames}}" - setHeader: name: CamelGoogleSheets.splitResults simple: "{{?splitResults}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-storage-event-based-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjI1MDAiIHZpZXdCb3g9Ii0xLjYzMzIzNTQzIDcuMDMyNjA5MzMgMTMxLjI2NTc0NjgyIDExNC40MzkzOTA2NyIgd2lkdGg9IjI1MDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxsaW5lYXJHcmFkaWVudCBpZD0iYSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIHgxPSI2NCIgeDI9IjY0IiB5MT0iNy4wMzQiIHkyPSIxMjAuNzg5Ij48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiM0Mzg3ZmQiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiM0NjgzZWEiLz48L2xpbmVhckdyYWRpZW50PjxwYXRoIGQ9Im0yNy43OSAxMTUuMjE3LTI2LjI1LTQ1LjQ2OGExMS40OTkgMTEuNDk5IDAgMCAxIDAtMTEuNDk5bDI2LjI1LTQ1LjQ2N2ExMS41IDExLjUgMCAwIDEgOS45Ni01Ljc1aDUyLjVhMTEuNSAxMS41IDAgMCAxIDkuOTU5IDUuNzVsMjYuMjUgNDUuNDY3YTExLjQ5OSAxMS40OTkgMCAwIDEgMCAxMS41bC0yNi4yNSA0NS40NjdhMTEuNSAxMS41IDAgMCAxIC05Ljk1OSA1Ljc0OWgtNTIuNWExMS40OTkgMTEuNDk5IDAgMCAxIC05Ljk2LTUuNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PHBhdGggZD0ibTEyMS4wNTQgNzkuNTgtMzEuODM2LTMxLjgzNC01Ljg1OCAxLjIxNC0xNC42MDMtMTQuNjAyLTQuNjczIDguNzM5LTIuNTM0IDEwLjEwOSA0LjI4OSA0LjI5LTguMjM4IDEuNjgyLTExLjI5Ni0xMS4yOTYtNy42NyA3LjM3MyAxNC4xMjMgMTQuMTI1LTE0Ljk3IDExLjkgNDAuMTkzIDQwLjE5MiAxOS41ODEtLjE5eiIgb3BhY2l0eT0iLjA3Ii8+PGcgZmlsbD0iI2ZmZiI+PGNpcmNsZSBjeD0iODUuNTE5IiBjeT0iNTEuNTc2IiByPSI1LjMyNCIvPjxjaXJjbGUgY3g9IjQyLjQ4IiBjeT0iNTEuNTc2IiByPSI1LjMyNCIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iODguODQ5IiByPSI1LjMyNSIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iNjQiIHI9IjguNjAyIi8+PGNpcmNsZSBjeD0iNDIuNDgiIGN5PSI3Ni40MjQiIHI9IjYuNzU4Ii8+PGNpcmNsZSBjeD0iODUuNTE5IiBjeT0iNzYuNDI0IiByPSI2Ljc1OCIvPjxjaXJjbGUgY3g9IjY0IiBjeT0iMzkuMTUxIiByPSI2Ljc1OSIvPjwvZz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Storage Event-based" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Google Storage Event-based Source" description: Receive data from Google Pubsub reporting events related to a Google Storage bucket. required: - projectId - subscriptionName - serviceAccountKey - bucketNameOrArn type: object properties: projectId: title: Project Id description: The Google Cloud Pub/Sub Project ID. type: string subscriptionName: title: Subscription Name description: The subscription name. type: string serviceAccountKey: title: Service Account Key description: The service account key to use as credentials for the Pub/Sub publisher/subscriber. You must encode this value in base64. type: binary x-descriptors: - urn:camel:group:credentials synchronousPull: title: Synchronous Pull description: Specifies to synchronously pull batches of messages. type: boolean default: false maxMessagesPerPoll: title: Max Messages Per Poll description: The maximum number of messages to receive from the server in a single API call. type: integer default: 1 concurrentConsumers: title: Concurrent Consumers description: The number of parallel streams to consume from the subscription. type: integer default: 1 bucketNameOrArn: title: Bucket Name Or ARN description: The Google Cloud Storage bucket name or Bucket Amazon Resource Name (ARN). type: string getObject: title: Get Object in Bucket description: >- If `getObject` is enabled, then the file created in the Bucket is retreived and returned as body, if not only the event is returned as body. type: boolean default: false dependencies: - "camel:kamelet" - "camel:google-pubsub" - "camel:google-storage" - "camel:jackson" - "camel:core" template: from: uri: "google-pubsub://{{projectId}}:{{subscriptionName}}" parameters: serviceAccountKey: "base64:{{serviceAccountKey}}" synchronousPull: "{{synchronousPull}}" maxMessagesPerPoll: "{{maxMessagesPerPoll}}" concurrentConsumers: "{{concurrentConsumers}}" steps: - choice: precondition: true when: - simple: '${properties:getObject:true}' steps: - setProperty: name: google-storage-event-type simple: "${headers.CamelGooglePubsubAttributes[eventType]}" - setProperty: name: google-storage-object-id simple: "${headers.CamelGooglePubsubAttributes[objectId]}" - setProperty: name: google-storage-bucket-id simple: "${headers.CamelGooglePubsubAttributes[bucketId]}" - choice: when: - simple: '${exchangeProperty.google-storage-event-type} == "OBJECT_FINALIZE" && ${exchangeProperty.google-storage-bucket-id} == "{{bucketNameOrArn}}"' steps: - toD: >- google-storage:{{bucketNameOrArn}}?serviceAccountKey=base64:{{serviceAccountKey}}&operation=getObject&objectName=${exchangeProperty.google-storage-object-id} - to: 'kamelet:sink' --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-storage-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjgwMCIgd2lkdGg9IjEyMDAiIHZpZXdCb3g9Ii0xOS4yMDAxNSAtMjguNDgzIDE2Ni40MDEzIDE3MC44OTgiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTcuMDM0KSI+PGxpbmVhckdyYWRpZW50IHkyPSIxMjAuNzg5IiB4Mj0iNjQiIHkxPSI3LjAzNCIgeDE9IjY0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImEiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzQzODdmZCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzQ2ODNlYSIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0iTTI3Ljc5IDExNS4yMTdMMS41NCA2OS43NDlhMTEuNDk5IDExLjQ5OSAwIDAxMC0xMS40OTlsMjYuMjUtNDUuNDY3YTExLjUgMTEuNSAwIDAxOS45Ni01Ljc1aDUyLjVhMTEuNSAxMS41IDAgMDE5Ljk1OSA1Ljc1bDI2LjI1IDQ1LjQ2N2ExMS40OTkgMTEuNDk5IDAgMDEwIDExLjVsLTI2LjI1IDQ1LjQ2NmExMS41IDExLjUgMCAwMS05Ljk1OSA1Ljc1aC01Mi41YTExLjQ5OSAxMS40OTkgMCAwMS05Ljk2LTUuNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTcuMDM0KSI+PGRlZnM+PHBhdGggZD0iTTI3Ljc5MSAxMTUuMjE3TDEuNTQxIDY5Ljc0OWExMS40OTkgMTEuNDk5IDAgMDEwLTExLjQ5OWwyNi4yNS00NS40NjdhMTEuNDk5IDExLjQ5OSAwIDAxOS45NTktNS43NWg1Mi41YTExLjUgMTEuNSAwIDAxOS45NiA1Ljc1bDI2LjI1IDQ1LjQ2N2ExMS40OTkgMTEuNDk5IDAgMDEwIDExLjVsLTI2LjI1IDQ1LjQ2NmExMS40OTkgMTEuNDk5IDAgMDEtOS45NiA1Ljc1aC01Mi41YTExLjQ5OSAxMS40OTkgMCAwMS05Ljk1OS01Ljc1eiIgaWQ9ImIiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJjIj48dXNlIGhlaWdodD0iMTAwJSIgd2lkdGg9IjEwMCUiIHhsaW5rOmhyZWY9IiNiIiBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2MpIiBvcGFjaXR5PSIuMDciIGQ9Ik00OS4zMTMgNTMuODc1bC03LjAxIDYuOTkgNS45NTcgNS45NTgtNS44OTggMTAuNDc2IDQ0LjYzNSA0NC42MzYgMTAuODE2LjAwMkwxMTguOTM2IDg0IDg1LjQ4OSA1MC41NXoiLz48L2c+PHBhdGggZD0iTTg0LjcgNDMuMjM2SDQzLjI2NGMtLjY2NyAwLTEuMjEyLjU0Ni0xLjIxMiAxLjIxNHY4LjU2NmMwIC42NjYuNTQ2IDEuMjEyIDEuMjEyIDEuMjEySDg0LjdjLjY2NyAwIDEuMjEzLS41NDYgMS4yMTMtMS4yMTJ2LTguNTY4YzAtLjY2Ni0uNTQ1LTEuMjEzLTEuMjEyLTEuMjEzbS02LjQxNiA3Ljk3NmEyLjQ4NCAyLjQ4NCAwIDAxLTIuNDc3LTIuNDggMi40NzUgMi40NzUgMCAwMTIuNDc3LTIuNDc3YzEuMzcgMCAyLjQ4IDEuMTAzIDIuNDggMi40NzdhMi40OCAyLjQ4IDAgMDEtMi40OCAyLjQ4bTYuNDE1IDguNDkxbC00MS40MzYuMDAyYy0uNjY3IDAtMS4yMTIuNTQ2LTEuMjEyIDEuMjE0djguNTY1YzAgLjY2Ni41NDYgMS4yMTMgMS4yMTIgMS4yMTNIODQuN2MuNjY3IDAgMS4yMTMtLjU0NyAxLjIxMy0xLjIxM3YtOC41NjdjMC0uNjY2LS41NDUtMS4yMTQtMS4yMTItMS4yMTRtLTYuNDE2IDcuOTc2YTIuNDgzIDIuNDgzIDAgMDEtMi40NzctMi40OCAyLjQ3NSAyLjQ3NSAwIDAxMi40NzctMi40NzcgMi40OCAyLjQ4IDAgMTEwIDQuOTU2IiBmaWxsPSIjZmZmIi8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Storage" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Google Storage Sink" description: Upload objects to Google Cloud Storage. required: - bucketNameOrArn type: object properties: bucketNameOrArn: title: Bucket Name Or ARN description: The Google Cloud Storage bucket name or Bucket Amazon Resource Name (ARN). type: string serviceAccountKey: title: Service Account Key description: The service account key to use as credentials for Google Cloud Storage access. You must encode this value in base64. type: binary x-descriptors: - urn:camel:group:credentials autoCreateBucket: title: Autocreate Bucket description: Specifies to automatically create the Google Cloud Storage bucket. type: boolean default: false dependencies: - "camel:core" - "camel:kamelet" - "camel:google-storage" - "camel:jackson" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelGoogleCloudStorageObjectName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelGoogleCloudStorageObjectName simple: "${header[ce-file]}" otherwise: steps: - setHeader: name: CamelGoogleCloudStorageObjectName simple: "${exchangeId}" - to: uri: "google-storage://{{bucketNameOrArn}}" parameters: autoCreateBucket: "{{autoCreateBucket}}" serviceAccountKey: "base64:{{?serviceAccountKey}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: google-storage-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBoZWlnaHQ9IjgwMCIgd2lkdGg9IjEyMDAiIHZpZXdCb3g9Ii0xOS4yMDAxNSAtMjguNDgzIDE2Ni40MDEzIDE3MC44OTgiPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTcuMDM0KSI+PGxpbmVhckdyYWRpZW50IHkyPSIxMjAuNzg5IiB4Mj0iNjQiIHkxPSI3LjAzNCIgeDE9IjY0IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgaWQ9ImEiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzQzODdmZCIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzQ2ODNlYSIvPjwvbGluZWFyR3JhZGllbnQ+PHBhdGggZD0iTTI3Ljc5IDExNS4yMTdMMS41NCA2OS43NDlhMTEuNDk5IDExLjQ5OSAwIDAxMC0xMS40OTlsMjYuMjUtNDUuNDY3YTExLjUgMTEuNSAwIDAxOS45Ni01Ljc1aDUyLjVhMTEuNSAxMS41IDAgMDE5Ljk1OSA1Ljc1bDI2LjI1IDQ1LjQ2N2ExMS40OTkgMTEuNDk5IDAgMDEwIDExLjVsLTI2LjI1IDQ1LjQ2NmExMS41IDExLjUgMCAwMS05Ljk1OSA1Ljc1aC01Mi41YTExLjQ5OSAxMS40OTkgMCAwMS05Ljk2LTUuNzV6IiBmaWxsPSJ1cmwoI2EpIi8+PC9nPjxnIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAgLTcuMDM0KSI+PGRlZnM+PHBhdGggZD0iTTI3Ljc5MSAxMTUuMjE3TDEuNTQxIDY5Ljc0OWExMS40OTkgMTEuNDk5IDAgMDEwLTExLjQ5OWwyNi4yNS00NS40NjdhMTEuNDk5IDExLjQ5OSAwIDAxOS45NTktNS43NWg1Mi41YTExLjUgMTEuNSAwIDAxOS45NiA1Ljc1bDI2LjI1IDQ1LjQ2N2ExMS40OTkgMTEuNDk5IDAgMDEwIDExLjVsLTI2LjI1IDQ1LjQ2NmExMS40OTkgMTEuNDk5IDAgMDEtOS45NiA1Ljc1aC01Mi41YTExLjQ5OSAxMS40OTkgMCAwMS05Ljk1OS01Ljc1eiIgaWQ9ImIiLz48L2RlZnM+PGNsaXBQYXRoIGlkPSJjIj48dXNlIGhlaWdodD0iMTAwJSIgd2lkdGg9IjEwMCUiIHhsaW5rOmhyZWY9IiNiIiBvdmVyZmxvdz0idmlzaWJsZSIvPjwvY2xpcFBhdGg+PHBhdGggY2xpcC1wYXRoPSJ1cmwoI2MpIiBvcGFjaXR5PSIuMDciIGQ9Ik00OS4zMTMgNTMuODc1bC03LjAxIDYuOTkgNS45NTcgNS45NTgtNS44OTggMTAuNDc2IDQ0LjYzNSA0NC42MzYgMTAuODE2LjAwMkwxMTguOTM2IDg0IDg1LjQ4OSA1MC41NXoiLz48L2c+PHBhdGggZD0iTTg0LjcgNDMuMjM2SDQzLjI2NGMtLjY2NyAwLTEuMjEyLjU0Ni0xLjIxMiAxLjIxNHY4LjU2NmMwIC42NjYuNTQ2IDEuMjEyIDEuMjEyIDEuMjEySDg0LjdjLjY2NyAwIDEuMjEzLS41NDYgMS4yMTMtMS4yMTJ2LTguNTY4YzAtLjY2Ni0uNTQ1LTEuMjEzLTEuMjEyLTEuMjEzbS02LjQxNiA3Ljk3NmEyLjQ4NCAyLjQ4NCAwIDAxLTIuNDc3LTIuNDggMi40NzUgMi40NzUgMCAwMTIuNDc3LTIuNDc3YzEuMzcgMCAyLjQ4IDEuMTAzIDIuNDggMi40NzdhMi40OCAyLjQ4IDAgMDEtMi40OCAyLjQ4bTYuNDE1IDguNDkxbC00MS40MzYuMDAyYy0uNjY3IDAtMS4yMTIuNTQ2LTEuMjEyIDEuMjE0djguNTY1YzAgLjY2Ni41NDYgMS4yMTMgMS4yMTIgMS4yMTNIODQuN2MuNjY3IDAgMS4yMTMtLjU0NyAxLjIxMy0xLjIxM3YtOC41NjdjMC0uNjY2LS41NDUtMS4yMTQtMS4yMTItMS4yMTRtLTYuNDE2IDcuOTc2YTIuNDgzIDIuNDgzIDAgMDEtMi40NzctMi40OCAyLjQ3NSAyLjQ3NSAwIDAxMi40NzctMi40NzcgMi40OCAyLjQ4IDAgMTEwIDQuOTU2IiBmaWxsPSIjZmZmIi8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Google Storage" camel.apache.org/kamelet.namespace: "GCP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Google Storage Source" description: Consume objects from Google Cloud Storage. required: - bucketNameOrArn type: object properties: bucketNameOrArn: title: Bucket Name Or ARN description: The Google Cloud Storage bucket name or Bucket Amazon Resource Name (ARN). type: string serviceAccountKey: title: Service Account Key description: The service account key to use as credentials for Google Cloud Storage access. You must encode this value in base64. type: binary x-descriptors: - urn:camel:group:credentials deleteAfterRead: title: Auto-delete Objects description: Specifies to delete objects after consuming them. type: boolean default: true autoCreateBucket: title: Autocreate Bucket description: Specifies to automatically create the Google Cloud Storage bucket. type: boolean default: false prefix: title: Prefix description: The prefix which is used in the BlobListOptions to only consume objects we are interested in. type: string filter: title: Filter description: A regular expression to include only blobs with name matching it. type: string dataTypes: out: default: binary headers: CamelGoogleCloudStorageBucketName: title: Google Cloud Storage Bucket Name description: The bucket name which has been used to retrieve objects type: string CamelGoogleCloudStorageObjectName: title: Google Cloud Storage Object Name description: The object name under which the retrieved object is stored type: string CamelGoogleCloudStorageContentType: title: Content Type description: The content type of the retrieved object. default: application/octet-stream type: string CamelGoogleCloudStorageETag: title: ETag Value description: The hex encoded 128-bit MD5 digest of the associated object according to RFC 1864. type: string types: binary: format: "application-octet-stream" description: Default binary representation of the Google Storage Cloud object retrieved from the bucket. mediaType: application/octet-stream cloudevents: format: "aws2-s3:application-cloudevents" description: Output data type represents Google Storage download response as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with respective data from the Google Storage bucket and its derived object. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.google.storage.downloadTo" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Google Cloud Storage bucket name with prefix "google.storage.bucket.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. Usually the Google Cloud Storage object name. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string dependencies: - "camel:kamelet" - "camel:google-storage" - "camel:jackson" template: from: uri: "google-storage://{{bucketNameOrArn}}" parameters: autoCreateBucket: "{{autoCreateBucket}}" serviceAccountKey: "base64:{{?serviceAccountKey}}" deleteAfterRead: "{{deleteAfterRead}}" filter: "{{?filter}}" prefix: "{{?prefix}}" steps: - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: graphql-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Graphql" camel.apache.org/kamelet.namespace: "Graphql" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "GraphQL Sink" description: Forward data to a GraphQL endpoint. required: - url type: object properties: url: title: GraphQL Server URL description: The URL to which you want to send data. type: string example: "http://example.com/graphql" pattern: "^(http|https)://.*" accessToken: title: GraphQL Access Token description: The access Token to use to access GraphQL server type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:graphql" - "camel:kamelet" - "camel:core" template: from: uri: kamelet:source steps: - to: uri: "graphql://{{url}}" parameters: accessToken: "{{?accessToken}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: has-header-filter-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "EIP" spec: definition: title: "Has Header Filter Action" description: "Filter message based on the presence of one header." required: - name properties: name: title: Header Name description: The header name to evaluate. The header name must be passed by the source Kamelet. For Knative only, the name of the header requires a CloudEvent (ce-) prefix. type: string example: headerName value: title: Header Value description: An optional header value to compare the header to type: string example: headerValue type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - setProperty: name: hasHeaderFilterActionValue constant: "{{value:}}" - choice: when: - simple: "${exchangeProperty[hasHeaderFilterActionValue]} != ''" steps: - filter: simple: "${header[{{name}}]} != ${exchangeProperty[hasHeaderFilterActionValue]}" steps: - stop: {} otherwise: steps: - filter: simple: "${header[{{name}}]} == null" steps: - stop: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: header-matches-filter-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "EIP" spec: definition: title: "Header Matches Filter Action" description: "Filter based on header value compared to regex." required: - regex properties: regex: title: Regex description: The Regex to Evaluate against the Kafka topic name type: string headerName: title: Header Name description: The header name to get the value to compare type: string example: headerName type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - filter: simple: "${header[{{headerName}}]} !regex '{{regex}}'" steps: - stop: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: hoist-field-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" spec: definition: title: "Hoist Field Action" description: "Wrap data in a single field." required: - field properties: field: title: Field description: The name of the field that will contain the event. type: string type: object dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:kafka" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[Content-Type]} == 'application/json'" steps: - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setProperty: name: "field" constant: "{{field}}" - bean: "org.apache.camel.component.kafka.transform.HoistField" - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: http-secured-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "HTTP" camel.apache.org/kamelet.namespace: "HTTP" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Secured HTTP Sink" description: Forwards an event to a secured HTTP endpoint. Supports Oauth and Basic authentication. required: - url type: object properties: url: title: URL description: The URL to send data to type: string example: "https://my-service/path" pattern: "^(http|https)://.*" method: title: Method description: The HTTP method to use type: string default: POST enum: ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "TRACE", "PATCH"] authMethod: title: Authentication Method description: Authentication methods allowed to use as a comma separated list of values Basic, Digest or NTLM. type: string authenticationPreemptive: title: Authentication Preemptive description: If this option is true, camel-http sends preemptive basic authentication to the server. type: boolean default: false authUsername: title: Authentication Username description: Authentication username type: string x-descriptors: - urn:camel:group:credentials authPassword: title: Authentication Password description: Authentication password type: string format: password x-descriptors: - urn:camel:group:credentials oauth2ClientId: title: Oauth2 Client Id description: Oauth2 Client Id type: string format: password x-descriptors: - urn:camel:group:credentials oauth2ClientSecret: title: Oauth2 Client Secret description: Oauth2 Client Secret type: string format: password x-descriptors: - urn:camel:group:credentials oauth2TokenEndpoint: title: Oauth2 Token Endpoint description: Oauth2 Token Endpoint type: string x-descriptors: - urn:camel:group:credentials oauth2Scope: title: Oauth2 Scope description: Oauth2 Scope type: string x-descriptors: - urn:camel:group:credentials dependencies: - "camel:http" - "camel:kamelet" - "camel:core" template: from: uri: kamelet:source steps: - removeHeader: name: CamelHttpUri - setHeader: name: CamelHttpMethod constant: "{{method}}" - to: uri: "{{url}}" parameters: authMethod: "{{?authMethod}}" authUsername: "{{?authUsername}}" authPassword: "{{?authPassword}}" oauth2ClientId: "{{?oauth2ClientId}}" oauth2ClientSecret: "{{?oauth2ClientSecret}}" oauth2Scope: "{{?oauth2Scope}}" oauth2TokenEndpoint: "{{?oauth2TokenEndpoint}}" authenticationPreemptive: "{{authenticationPreemptive}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: http-secured-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "HTTP" camel.apache.org/kamelet.namespace: "HTTP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "HTTP Secured Source" description: Periodically fetches a secured HTTP resource and provides the content as output. Supports Oauth and Basic authentication. required: - url type: object properties: period: title: Period between Updates description: The interval between fetches in milliseconds type: integer default: 10000 contentType: title: Content Type description: The content type accepted for the resource type: string default: "application/json" url: title: URL description: The URL to fetch for data type: string example: "https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json" pattern: "^(http|https)://.*" authMethod: title: Authentication Method description: Authentication methods allowed to use as a comma separated list of values Basic, Digest or NTLM. type: string authenticationPreemptive: title: Authentication Preemptive description: If this option is true, camel-http sends preemptive basic authentication to the server. type: boolean default: false authUsername: title: Authentication Username description: Authentication username type: string x-descriptors: - urn:camel:group:credentials authPassword: title: Authentication Password description: Authentication password type: string format: password x-descriptors: - urn:camel:group:credentials oauth2ClientId: title: Oauth2 Client Id description: Oauth2 Client Id type: string format: password x-descriptors: - urn:camel:group:credentials oauth2ClientSecret: title: Oauth2 Client Secret description: Oauth2 Client Secret type: string format: password x-descriptors: - urn:camel:group:credentials oauth2TokenEndpoint: title: Oauth2 Token Endpoint description: Oauth2 Token Endpoint type: string x-descriptors: - urn:camel:group:credentials oauth2Scope: title: Oauth2 Scope description: Oauth2 Scope type: string x-descriptors: - urn:camel:group:credentials dependencies: - "camel:http" - "camel:kamelet" - "camel:core" - "camel:timer" template: from: uri: "timer:fetch" parameters: period: "{{period}}" steps: - setHeader: name: "Accept" constant: "{{contentType}}" - to: uri: "{{url}}" parameters: authMethod: "{{?authMethod}}" authUsername: "{{?authUsername}}" authPassword: "{{?authPassword}}" oauth2ClientId: "{{?oauth2ClientId}}" oauth2ClientSecret: "{{?oauth2ClientSecret}}" oauth2Scope: "{{?oauth2Scope}}" oauth2TokenEndpoint: "{{?oauth2TokenEndpoint}}" authenticationPreemptive: "{{authenticationPreemptive}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: http-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "HTTP" camel.apache.org/kamelet.namespace: "HTTP" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "HTTP Sink" description: Forward data to a HTTP or HTTPS endpoint. required: - url type: object properties: url: title: URL description: The URL to which you want to send data. type: string example: "https://my-service/path" pattern: "^(http|https)://.*" method: title: Method description: The HTTP method to use. type: string default: POST enum: ["GET", "POST", "PUT", "DELETE", "HEAD", "OPTIONS", "TRACE", "PATCH"] dependencies: - "camel:http" - "camel:kamelet" - "camel:core" template: from: uri: kamelet:source steps: - removeHeader: name: CamelHttpUri - setHeader: name: CamelHttpMethod constant: "{{method}}" - to: "{{url}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: http-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "HTTP" camel.apache.org/kamelet.namespace: "HTTP" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "HTTP Source" description: Periodically fetches an HTTP resource and provides the content as output. required: - url type: object properties: period: title: Period between Updates description: The interval between fetches in milliseconds. type: integer default: 10000 contentType: title: Content Type description: The content type accepted for the resource. type: string default: "application/json" url: title: URL description: The URL to fetch for data. type: string example: "https://gist.githubusercontent.com/nicolaferraro/e3c72ace3c751f9f88273896611ce5fe/raw/3b6f54060bacb56b6719b7386a4645cb59ad6cc1/quote.json" pattern: "^(http|https)://.*" dependencies: - "camel:http" - "camel:kamelet" - "camel:core" - "camel:timer" template: from: uri: "timer:fetch" parameters: period: "{{period}}" steps: - setHeader: name: "Accept" constant: "{{contentType}}" - to: "{{url}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: infinispan-sink labels: camel.apache.org/kamelet.type: "sink" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Infinispan" camel.apache.org/kamelet.namespace: "Cache" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iYXJ0d29yayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAyNCAyMTUiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMGIyNTQ1O30uY2xzLTJ7ZmlsbDojNTk5ZmM2O308L3N0eWxlPjwvZGVmcz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjI5Ny4yNCIgeT0iMS45OCIgd2lkdGg9IjExLjkiIGhlaWdodD0iMTU4LjEyIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzk1LjI1LDY0Ljg4Yy03LjgxLTkuNDUtMTguOS0xNC4yNC0zMy0xNC4yNC0xMy43NywwLTI0LjczLDQuNzUtMzIuNjQsMTQuMTFWNTIuMzlIMzE4LjI3djEwNy43aDExLjM3Vjk0LjE4YzAtMTAsMy0xOC4wOCw4LjgyLTI0LjA1czEzLjg3LTksMjMuODItOSwxOC4xLDMuNDYsMjQuMSwxMC4yOGM1Ljc0LDYuNTEsOC42NSwxNSw4LjY1LDI1LjE4djYzLjQ5aDExLjE0Vjk5LjQzQzQwNi4xNyw4NS4xNSw0MDIuNDksNzMuNTIsMzk1LjI1LDY0Ljg4WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQzMS43OSwyMC43YzQuMS01LjgzLDEwLTguNjcsMTcuOTMtOC42N2EzNS41LDM1LjUsMCwwLDEsNi41NC42M0w0NjguOSwxNS4xVjQuMzdMNDU4LjIzLDJhNDMuMTQsNDMuMTQsMCwwLDAtOS4xNy0xYy0xMC44MywwLTE5LjQsNC0yNS40NywxMS43NC01LjU4LDcuMDctOC40MSwxNi4yLTguNDEsMjcuMTRWMTYwLjA5aDExLjE1VjYzLjQyaDMzLjg2VjUyLjZINDI2LjMzVjQwLjg2QzQyNi4zMywzMi41Nyw0MjguMTcsMjUuNzksNDMxLjc5LDIwLjdaIi8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSI0NzMuODgiIHk9IjUyLjYiIHdpZHRoPSIxMS4zNyIgaGVpZ2h0PSIxMDcuNDkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00NzkuNDYsMTYuNTZjLTQuOTMsMC03LjUzLDIuNjEtNy41Myw3LjU0czIuNiw3Ljc1LDcuNTMsNy43NWM1LjE0LDAsNy44Ni0yLjY4LDcuODYtNy43NVM0ODQuNiwxNi41Niw0NzkuNDYsMTYuNTZaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTczLjMxLDY0Ljg4Yy03LjgxLTkuNDUtMTguOTEtMTQuMjQtMzMtMTQuMjQtMTMuNzYsMC0yNC43Miw0Ljc1LTMyLjY0LDE0LjEyVjUyLjM5SDQ5Ni4zM3YxMDcuN2gxMS4zNlY5NC4xOGMwLTEwLDMtMTguMDgsOC44My0yNC4wNXMxMy44Ni05LDIzLjgxLTksMTguMTEsMy40NiwyNC4xLDEwLjI5YzUuNzUsNi41MSw4LjY2LDE1LDguNjYsMjUuMTh2NjMuNDloMTEuMTRWOTkuNDNDNTg0LjIzLDg1LjE1LDU4MC41NSw3My41Miw1NzMuMzEsNjQuODhaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAxMi4wOCw2NC44OGMtNy44MS05LjQ1LTE4LjkxLTE0LjI0LTMzLTE0LjI0LTEzLjc2LDAtMjQuNzIsNC43NS0zMi42NCwxNC4xMlY1Mi4zOUg5MzUuMXYxMDcuN2gxMS4zNlY5NC4xOGMwLTEwLDMtMTguMDgsOC44My0yNC4wNXMxMy44Ny05LDIzLjgxLTksMTguMTEsMy40NiwyNC4xLDEwLjI5YzUuNzUsNi41MSw4LjY2LDE1LDguNjYsMjUuMTh2NjMuNDlIMTAyM1Y5OS40M0MxMDIzLDg1LjE1LDEwMTkuMzIsNzMuNTIsMTAxMi4wOCw2NC44OFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02MDAuNzcsMTYuNTZjLTQuOTIsMC03LjUzLDIuNjEtNy41Myw3LjU0czIuNjEsNy43NSw3LjUzLDcuNzVjNS4xNCwwLDcuODYtMi42OCw3Ljg2LTcuNzVTNjA1LjkxLDE2LjU2LDYwMC43NywxNi41NloiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjU5NS4yIiB5PSI1Mi42IiB3aWR0aD0iMTEuMzYiIGhlaWdodD0iMTA3LjQ5Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjcxLjUzLDEwMi4xOGwtMjEuMjMtNmMtMTMuNjItMy44Mi0yMC41My05LjY3LTIwLjUzLTE3LjQsMC0xMC4zNSw2LjQtMTUuMzksMTkuNTgtMTUuMzlINjY4YzkuMjQsMCwxNi4yMiwyLjM0LDIwLjc3LDdsLjYxLjYyLDEwLTYtLjgtMWMtNi4wOC03LjYtMTYtMTEuNDUtMjkuNjEtMTEuNDVINjUyLjcyYy0yMi43NywwLTM0LjMxLDguNjYtMzQuMzEsMjUuNzIsMCwxMy41Nyw5LjEsMjMsMjcsMjhsMjAuMzcsNS42NGMxNS40Myw0LjI2LDIzLjI1LDExLjI1LDIzLjI1LDIwLjc3LDAsMTEuMTYtNy45LDE2LjU4LTI0LjE2LDE2LjU4aC0xNy4zYy04LjQzLDAtMTUuMTItMi41Mi0xOS44OS03LjVsLS42MS0uNjQtMTAsNiwuNzgsMWM2LjMsNy45NCwxNi4zLDEyLDI5LjczLDEyaDEwLjY2YzI4LDAsNDIuMTYtOS40NSw0Mi4xNi0yOC4xMUM3MDAuNDMsMTE3LjY0LDY5MC43MSwxMDcuNjEsNjcxLjUzLDEwMi4xOFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04MTMsMTM4LjQ4QTU2LjY3LDU2LjY3LDAsMCwxLDc2Ni43LDE2Myw1NS4xLDU1LjEsMCwwLDEsNzIxLDEzOS4xMmwuMDYsNzFINzA5LjQ0VjUwLjA3bDExLjE2LS44NFY3NS4xNHMxNS4zLTI0LjIxLDQ2LjEtMjQuMjEsNTYuMSwyNS42Niw1Ni4xLDUzLjIxYzAsLjQyLDAsNS4yNCwwLDUuNjRhNDQuNjMsNDQuNjMsMCwxLDAsNS0yMy4yOGwtMS4zNCwyLjU1LS43Mi0yLjc5YTQ0LjMzLDQ0LjMzLDAsMCwwLTQuNDEtMTAuMDlsLS4zNy0uNjEuMy0uNDFhNTYsNTYsMCwwLDEsOTEuNDItLjg0VjUyLjYyaDExLjgxVjE2MC4yM2wtMTEuODUsMCwwLTIwLjMzYTU2LDU2LDAsMCwxLTkzLjA4LTMuMzZjLTEtMS42NS0zLjY2LTYuODYtMy42Ni02Ljg2YTU1LjM5LDU1LjM5LDAsMCwxLTQuOC0xOS40NnYtLjA4cy4xMy00LjUxLjEzLTQuNzRhNDQuNyw0NC43LDAsMSwwLTUuMDcsMjIuMTdMODA3LjUsMTI1bC43MiwyLjc5YzEuMjEsNC42OCw0Ljc4LDEwLjcsNC43OCwxMC43Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxIiB5PSIxIiB3aWR0aD0iMjA5LjE3IiBoZWlnaHQ9IjIwOS4xNyIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTExNi44MSwxMDUuNThoMGE4Miw4MiwwLDAsMC04Mi04MlY0NmE1OS42NSw1OS42NSwwLDAsMSw1OS41OSw1OS41OWgwYTgyLDgyLDAsMCwwLDgyLDgyLjA1VjE2NS4xOEE1OS42Niw1OS42NiwwLDAsMSwxMTYuODEsMTA1LjU4WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTkwLjE5LDEyNy40NmE1OS42OSw1OS42OSwwLDAsMS01NS40MiwzNy43MnYyMi40NWE4MS45Miw4MS45MiwwLDAsMCw2Ni42Ny0zNC4yNkE4OC41Miw4OC41MiwwLDAsMSw5MC4xOSwxMjcuNDZaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIxLDgzLjcxQTU5LjY5LDU5LjY5LDAsMCwxLDE3Ni40LDQ2VjIzLjU0QTgxLjkyLDgxLjkyLDAsMCwwLDEwOS43Myw1Ny44LDg4LjUyLDg4LjUyLDAsMCwxLDEyMSw4My43MVoiLz48L3N2Zz4=" spec: definition: title: "Infinispan Sink" description: Write object to an Infinispan cache. required: - cacheName - hosts - username - password type: object properties: cacheName: title: Cache Name description: The name of the Infinispan cache to use type: string hosts: title: Hosts description: Specifies the host of the cache on Infinispan instance type: string secure: title: Secure description: If the Infinispan instance is secured or not type: boolean default: true username: title: Username description: Username to connect to Infinispan. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to connect to Infinispan. type: string format: password x-descriptors: - urn:camel:group:credentials saslMechanism: title: SASL Mechanism description: The SASL Mechanism to use type: string default: "DIGEST-MD5" securityRealm: title: Security Realm description: Define the security realm to access the infinispan instance type: string default: "default" securityServerName: title: Security Server name description: Define the security server name to access the infinispan instance type: string default: "infinispan" dependencies: - "camel:kamelet" - "camel:core" - "camel:infinispan" template: beans: - name: local-infinispan type: "#class:org.apache.camel.component.infinispan.remote.InfinispanRemoteComponent" from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[key]}" steps: - setHeader: name: CamelInfinispanKey simple: "${header[key]}" - simple: "${header[ce-key]}" steps: - setHeader: name: CamelInfinispanKey simple: "${header[ce-key]}" otherwise: steps: - setHeader: name: CamelInfinispanKey simple: "${exchangeId}" - setHeader: name: CamelInfinispanValue simple: "${body}" - to: uri: "{{local-infinispan}}:{{cacheName}}" parameters: hosts: "{{hosts}}" secure: "{{secure}}" username: "{{username}}" password: "{{password}}" saslMechanism: "{{saslMechanism}}" securityRealm: "{{securityRealm}}" securityServerName: "{{securityServerName}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: infinispan-source labels: camel.apache.org/kamelet.type: "source" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Infinispan" camel.apache.org/kamelet.namespace: "Cache" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iYXJ0d29yayIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTAyNCAyMTUiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMGIyNTQ1O30uY2xzLTJ7ZmlsbDojNTk5ZmM2O308L3N0eWxlPjwvZGVmcz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjI5Ny4yNCIgeT0iMS45OCIgd2lkdGg9IjExLjkiIGhlaWdodD0iMTU4LjEyIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzk1LjI1LDY0Ljg4Yy03LjgxLTkuNDUtMTguOS0xNC4yNC0zMy0xNC4yNC0xMy43NywwLTI0LjczLDQuNzUtMzIuNjQsMTQuMTFWNTIuMzlIMzE4LjI3djEwNy43aDExLjM3Vjk0LjE4YzAtMTAsMy0xOC4wOCw4LjgyLTI0LjA1czEzLjg3LTksMjMuODItOSwxOC4xLDMuNDYsMjQuMSwxMC4yOGM1Ljc0LDYuNTEsOC42NSwxNSw4LjY1LDI1LjE4djYzLjQ5aDExLjE0Vjk5LjQzQzQwNi4xNyw4NS4xNSw0MDIuNDksNzMuNTIsMzk1LjI1LDY0Ljg4WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQzMS43OSwyMC43YzQuMS01LjgzLDEwLTguNjcsMTcuOTMtOC42N2EzNS41LDM1LjUsMCwwLDEsNi41NC42M0w0NjguOSwxNS4xVjQuMzdMNDU4LjIzLDJhNDMuMTQsNDMuMTQsMCwwLDAtOS4xNy0xYy0xMC44MywwLTE5LjQsNC0yNS40NywxMS43NC01LjU4LDcuMDctOC40MSwxNi4yLTguNDEsMjcuMTRWMTYwLjA5aDExLjE1VjYzLjQyaDMzLjg2VjUyLjZINDI2LjMzVjQwLjg2QzQyNi4zMywzMi41Nyw0MjguMTcsMjUuNzksNDMxLjc5LDIwLjdaIi8+PHJlY3QgY2xhc3M9ImNscy0xIiB4PSI0NzMuODgiIHk9IjUyLjYiIHdpZHRoPSIxMS4zNyIgaGVpZ2h0PSIxMDcuNDkiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik00NzkuNDYsMTYuNTZjLTQuOTMsMC03LjUzLDIuNjEtNy41Myw3LjU0czIuNiw3Ljc1LDcuNTMsNy43NWM1LjE0LDAsNy44Ni0yLjY4LDcuODYtNy43NVM0ODQuNiwxNi41Niw0NzkuNDYsMTYuNTZaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNTczLjMxLDY0Ljg4Yy03LjgxLTkuNDUtMTguOTEtMTQuMjQtMzMtMTQuMjQtMTMuNzYsMC0yNC43Miw0Ljc1LTMyLjY0LDE0LjEyVjUyLjM5SDQ5Ni4zM3YxMDcuN2gxMS4zNlY5NC4xOGMwLTEwLDMtMTguMDgsOC44My0yNC4wNXMxMy44Ni05LDIzLjgxLTksMTguMTEsMy40NiwyNC4xLDEwLjI5YzUuNzUsNi41MSw4LjY2LDE1LDguNjYsMjUuMTh2NjMuNDloMTEuMTRWOTkuNDNDNTg0LjIzLDg1LjE1LDU4MC41NSw3My41Miw1NzMuMzEsNjQuODhaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTAxMi4wOCw2NC44OGMtNy44MS05LjQ1LTE4LjkxLTE0LjI0LTMzLTE0LjI0LTEzLjc2LDAtMjQuNzIsNC43NS0zMi42NCwxNC4xMlY1Mi4zOUg5MzUuMXYxMDcuN2gxMS4zNlY5NC4xOGMwLTEwLDMtMTguMDgsOC44My0yNC4wNXMxMy44Ny05LDIzLjgxLTksMTguMTEsMy40NiwyNC4xLDEwLjI5YzUuNzUsNi41MSw4LjY2LDE1LDguNjYsMjUuMTh2NjMuNDlIMTAyM1Y5OS40M0MxMDIzLDg1LjE1LDEwMTkuMzIsNzMuNTIsMTAxMi4wOCw2NC44OFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik02MDAuNzcsMTYuNTZjLTQuOTIsMC03LjUzLDIuNjEtNy41Myw3LjU0czIuNjEsNy43NSw3LjUzLDcuNzVjNS4xNCwwLDcuODYtMi42OCw3Ljg2LTcuNzVTNjA1LjkxLDE2LjU2LDYwMC43NywxNi41NloiLz48cmVjdCBjbGFzcz0iY2xzLTEiIHg9IjU5NS4yIiB5PSI1Mi42IiB3aWR0aD0iMTEuMzYiIGhlaWdodD0iMTA3LjQ5Ii8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNNjcxLjUzLDEwMi4xOGwtMjEuMjMtNmMtMTMuNjItMy44Mi0yMC41My05LjY3LTIwLjUzLTE3LjQsMC0xMC4zNSw2LjQtMTUuMzksMTkuNTgtMTUuMzlINjY4YzkuMjQsMCwxNi4yMiwyLjM0LDIwLjc3LDdsLjYxLjYyLDEwLTYtLjgtMWMtNi4wOC03LjYtMTYtMTEuNDUtMjkuNjEtMTEuNDVINjUyLjcyYy0yMi43NywwLTM0LjMxLDguNjYtMzQuMzEsMjUuNzIsMCwxMy41Nyw5LjEsMjMsMjcsMjhsMjAuMzcsNS42NGMxNS40Myw0LjI2LDIzLjI1LDExLjI1LDIzLjI1LDIwLjc3LDAsMTEuMTYtNy45LDE2LjU4LTI0LjE2LDE2LjU4aC0xNy4zYy04LjQzLDAtMTUuMTItMi41Mi0xOS44OS03LjVsLS42MS0uNjQtMTAsNiwuNzgsMWM2LjMsNy45NCwxNi4zLDEyLDI5LjczLDEyaDEwLjY2YzI4LDAsNDIuMTYtOS40NSw0Mi4xNi0yOC4xMUM3MDAuNDMsMTE3LjY0LDY5MC43MSwxMDcuNjEsNjcxLjUzLDEwMi4xOFoiLz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik04MTMsMTM4LjQ4QTU2LjY3LDU2LjY3LDAsMCwxLDc2Ni43LDE2Myw1NS4xLDU1LjEsMCwwLDEsNzIxLDEzOS4xMmwuMDYsNzFINzA5LjQ0VjUwLjA3bDExLjE2LS44NFY3NS4xNHMxNS4zLTI0LjIxLDQ2LjEtMjQuMjEsNTYuMSwyNS42Niw1Ni4xLDUzLjIxYzAsLjQyLDAsNS4yNCwwLDUuNjRhNDQuNjMsNDQuNjMsMCwxLDAsNS0yMy4yOGwtMS4zNCwyLjU1LS43Mi0yLjc5YTQ0LjMzLDQ0LjMzLDAsMCwwLTQuNDEtMTAuMDlsLS4zNy0uNjEuMy0uNDFhNTYsNTYsMCwwLDEsOTEuNDItLjg0VjUyLjYyaDExLjgxVjE2MC4yM2wtMTEuODUsMCwwLTIwLjMzYTU2LDU2LDAsMCwxLTkzLjA4LTMuMzZjLTEtMS42NS0zLjY2LTYuODYtMy42Ni02Ljg2YTU1LjM5LDU1LjM5LDAsMCwxLTQuOC0xOS40NnYtLjA4cy4xMy00LjUxLjEzLTQuNzRhNDQuNyw0NC43LDAsMSwwLTUuMDcsMjIuMTdMODA3LjUsMTI1bC43MiwyLjc5YzEuMjEsNC42OCw0Ljc4LDEwLjcsNC43OCwxMC43Ii8+PHJlY3QgY2xhc3M9ImNscy0yIiB4PSIxIiB5PSIxIiB3aWR0aD0iMjA5LjE3IiBoZWlnaHQ9IjIwOS4xNyIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTExNi44MSwxMDUuNThoMGE4Miw4MiwwLDAsMC04Mi04MlY0NmE1OS42NSw1OS42NSwwLDAsMSw1OS41OSw1OS41OWgwYTgyLDgyLDAsMCwwLDgyLDgyLjA1VjE2NS4xOEE1OS42Niw1OS42NiwwLDAsMSwxMTYuODEsMTA1LjU4WiIvPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTkwLjE5LDEyNy40NmE1OS42OSw1OS42OSwwLDAsMS01NS40MiwzNy43MnYyMi40NWE4MS45Miw4MS45MiwwLDAsMCw2Ni42Ny0zNC4yNkE4OC41Miw4OC41MiwwLDAsMSw5MC4xOSwxMjcuNDZaIi8+PHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTIxLDgzLjcxQTU5LjY5LDU5LjY5LDAsMCwxLDE3Ni40LDQ2VjIzLjU0QTgxLjkyLDgxLjkyLDAsMCwwLDEwOS43Myw1Ny44LDg4LjUyLDg4LjUyLDAsMCwxLDEyMSw4My43MVoiLz48L3N2Zz4=" spec: definition: title: "Infinispan Source" description: Get Events from an Infinispan cache required: - cacheName - hosts - username - password type: object properties: cacheName: title: Cache Name description: The name of the Infinispan cache to use type: string hosts: title: Hosts description: Specifies the host of the cache on Infinispan instance type: string secure: title: Secure description: If the Infinispan instance is secured or not type: boolean default: true username: title: Username description: Username to connect to Infinispan. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to connect to Infinispan. type: string format: password x-descriptors: - urn:camel:group:credentials saslMechanism: title: SASL Mechanism description: The SASL Mechanism to use type: string default: "DIGEST-MD5" securityRealm: title: Security Realm description: Define the security realm to access the infinispan instance type: string default: "default" securityServerName: title: Security Server name description: Define the security server name to access the infinispan instance type: string default: "infinispan" eventTypes: title: Infinispan Cluster Name description: Specifies the set of event types to register by the consumer. Multiple event can be separated by comma without spaces. type: string example: "CLIENT_CACHE_ENTRY_CREATED,CLIENT_CACHE_ENTRY_MODIFIED" default: "CLIENT_CACHE_ENTRY_CREATED,CLIENT_CACHE_ENTRY_MODIFIED,CLIENT_CACHE_ENTRY_REMOVED,CLIENT_CACHE_ENTRY_EXPIRED,CLIENT_CACHE_FAILOVER" enum: ["CLIENT_CACHE_ENTRY_CREATED", "CLIENT_CACHE_ENTRY_MODIFIED", "CLIENT_CACHE_ENTRY_REMOVED", "CLIENT_CACHE_ENTRY_EXPIRED", "CLIENT_CACHE_FAILOVER"] dependencies: - "camel:kamelet" - "camel:core" - "camel:infinispan" template: beans: - name: local-infinispan type: "#class:org.apache.camel.component.infinispan.remote.InfinispanRemoteComponent" from: uri: "{{local-infinispan}}:{{cacheName}}" parameters: hosts: "{{hosts}}" secure: "{{secure}}" username: "{{username}}" password: "{{password}}" saslMechanism: "{{saslMechanism}}" securityRealm: "{{securityRealm}}" securityServerName: "{{securityServerName}}" eventTypes: "{{eventTypes}}" steps: - setHeader: name: infinispan-cache-name simple: "${header[CamelInfinispanCacheName]}" - setHeader: name: ce-infinispancachename simple: "${header[CamelInfinispanCacheName]}" - setHeader: name: infinispan-entry-version simple: "${header[CamelInfinispanEntryVersion]}" - setHeader: name: ce-infinispanentryversion simple: "${header[CamelInfinispanEntryVersion]}" - setHeader: name: infinispan-event-type simple: "${header[CamelInfinispanEventType]}" - setHeader: name: ce-infinispaneventtype simple: "${header[CamelInfinispanEventType]}" - setHeader: name: infinispan-key simple: "${header[CamelInfinispanKey]}" - setHeader: name: ce-infinispankey simple: "${header[CamelInfinispanKey]}" - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: insert-field-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" spec: definition: title: "Insert Field Action" description: Adds a custom field with a simple language parsed value to the message in transit. required: - field - value properties: field: title: Field description: The name of the field to be added. type: string value: title: Value description: The value of the field. type: string type: object dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:kafka" template: beans: - name: insertField type: "#class:org.apache.camel.component.kafka.transform.InsertField" properties: field: '{{field}}' value: '{{value}}' from: uri: kamelet:source steps: - choice: when: - simple: "${header[Content-Type]} == 'application/json'" steps: - setProperty: name: deserialized constant: "true" - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - process: ref: "{{insertField}}" - choice: when: - simple: "${exchangeProperty[deserialized]} == 'true'" steps: - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: insert-header-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "EIP" spec: definition: title: "Insert Header Action" description: "Adds an header with a simple language parsed expression to the message in transit." required: - name - value properties: name: title: Name description: The name of the header to be added. For Knative only, the name of the header requires a CloudEvent (ce-) prefix. type: string example: headername value: title: Value description: The value of the header to be added type: string type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - setHeader: name: "{{name}}" simple: "{{value}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: is-tombstone-filter-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Is Tombstone Filter Action" description: "Filter based on the presence of body or not." type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - filter: simple: "${body} == null || ${body} == ''" steps: - stop: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jira-add-comment-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjU2cHgiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTguMDMwODY3NSUiIHkxPSIwLjE2MDU5OTU3MiUiIHgyPSI1OC44ODc3MDYyJSIgeTI9IjQwLjc2NTUyNDYlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDUyQ0MiIG9mZnNldD0iMTglIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyNjg0RkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMDAuNjY1MjQ3JSIgeTE9IjAuNDU1MDMyMTIlIiB4Mj0iNTUuNDAxODA5NSUiIHkyPSI0NC43MjY5ODA3JSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA1MkNDIiBvZmZzZXQ9IjE4JSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjY4NEZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGc+CgkJCQk8cGF0aCBkPSJNMjQ0LjY1Nzc3OCwwIEwxMjEuNzA2NjY3LDAgQzEyMS43MDY2NjcsMTQuNzIwMTA0NiAxMjcuNTU0MjA1LDI4LjgzNzMxMiAxMzcuOTYyODkxLDM5LjI0NTk5NzcgQzE0OC4zNzE1NzcsNDkuNjU0NjgzNSAxNjIuNDg4Nzg0LDU1LjUwMjIyMjIgMTc3LjIwODg4OSw1NS41MDIyMjIyIEwxOTkuODU3Nzc4LDU1LjUwMjIyMjIgTDE5OS44NTc3NzgsNzcuMzY4ODg4OSBDMTk5Ljg3NzM5MSwxMDcuOTk0MTU1IDIyNC42OTkxNzgsMTMyLjgxNTk0MyAyNTUuMzI0NDQ0LDEzMi44MzU1NTYgTDI1NS4zMjQ0NDQsMTAuNjY2NjY2NyBDMjU1LjMyNDQ0NCw0Ljc3NTYyOTM0IDI1MC41NDg4MTUsMy42MDcyMjAwMWUtMTYgMjQ0LjY1Nzc3OCwwIFoiIGZpbGw9IiMyNjg0RkYiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xODMuODIyMjIyLDYxLjI2MjIyMjIgTDYwLjg3MTExMTEsNjEuMjYyMjIyMiBDNjAuODkwNzIzOCw5MS44ODc0ODg4IDg1LjcxMjUxMTIsMTE2LjcwOTI3NiAxMTYuMzM3Nzc4LDExNi43Mjg4ODkgTDEzOC45ODY2NjcsMTE2LjcyODg4OSBMMTM4Ljk4NjY2NywxMzguNjY2NjY3IEMxMzkuMDI1OTA1LDE2OS4yOTE5MjMgMTYzLjg2MzYwNywxOTQuMDk3ODAzIDE5NC40ODg4ODksMTk0LjA5Nzc3OCBMMTk0LjQ4ODg4OSw3MS45Mjg4ODg5IEMxOTQuNDg4ODg5LDY2LjAzNzg1MTYgMTg5LjcxMzI2LDYxLjI2MjIyMjIgMTgzLjgyMjIyMiw2MS4yNjIyMjIyIFoiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xMjIuOTUxMTExLDEyMi40ODg4ODkgTDAsMTIyLjQ4ODg4OSBDMy43NTM5MTM2MmUtMTUsMTUzLjE0MTkyIDI0Ljg0OTE5MTMsMTc3Ljk5MTExMSA1NS41MDIyMjIyLDE3Ny45OTExMTEgTDc4LjIyMjIyMjIsMTc3Ljk5MTExMSBMNzguMjIyMjIyMiwxOTkuODU3Nzc4IEM3OC4yNDE3NjcsMjMwLjQ1NTMyIDEwMy4wMjAyODUsMjU1LjI2NTY0NyAxMzMuNjE3Nzc4LDI1NS4zMjQ0NDQgTDEzMy42MTc3NzgsMTMzLjE1NTU1NiBDMTMzLjYxNzc3OCwxMjcuMjY0NTE4IDEyOC44NDIxNDgsMTIyLjQ4ODg4OSAxMjIuOTUxMTExLDEyMi40ODg4ODkgWiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0yKSI+PC9wYXRoPgoJCTwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "JIRA" camel.apache.org/kamelet.namespace: "JIRA" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Jira Add Comment Sink" description: Add a new comment to an existing issue in Jira. required: - jiraUrl type: object properties: jiraUrl: title: Jira URL description: The URL of your instance of Jira type: string example: http://my_jira.com:8081 username: title: Username description: The username to access Jira type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access Jira type: string format: password x-descriptors: - urn:camel:group:credentials personal-token: title: Personal Token description: Personal Token type: string x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:jira" - "camel:kamelet" - "mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.5" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[ce-issueKey]}" steps: - setHeader: name: issueKey simple: "${header[ce-issueKey]}" - to: uri: "jira:AddComment" parameters: jiraUrl: "{{jiraUrl}}" username: "{{?username}}" password: "{{?password}}" accessToken: "{{?personal-token}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jira-add-issue-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjU2cHgiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTguMDMwODY3NSUiIHkxPSIwLjE2MDU5OTU3MiUiIHgyPSI1OC44ODc3MDYyJSIgeTI9IjQwLjc2NTUyNDYlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDUyQ0MiIG9mZnNldD0iMTglIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyNjg0RkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMDAuNjY1MjQ3JSIgeTE9IjAuNDU1MDMyMTIlIiB4Mj0iNTUuNDAxODA5NSUiIHkyPSI0NC43MjY5ODA3JSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA1MkNDIiBvZmZzZXQ9IjE4JSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjY4NEZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGc+CgkJCQk8cGF0aCBkPSJNMjQ0LjY1Nzc3OCwwIEwxMjEuNzA2NjY3LDAgQzEyMS43MDY2NjcsMTQuNzIwMTA0NiAxMjcuNTU0MjA1LDI4LjgzNzMxMiAxMzcuOTYyODkxLDM5LjI0NTk5NzcgQzE0OC4zNzE1NzcsNDkuNjU0NjgzNSAxNjIuNDg4Nzg0LDU1LjUwMjIyMjIgMTc3LjIwODg4OSw1NS41MDIyMjIyIEwxOTkuODU3Nzc4LDU1LjUwMjIyMjIgTDE5OS44NTc3NzgsNzcuMzY4ODg4OSBDMTk5Ljg3NzM5MSwxMDcuOTk0MTU1IDIyNC42OTkxNzgsMTMyLjgxNTk0MyAyNTUuMzI0NDQ0LDEzMi44MzU1NTYgTDI1NS4zMjQ0NDQsMTAuNjY2NjY2NyBDMjU1LjMyNDQ0NCw0Ljc3NTYyOTM0IDI1MC41NDg4MTUsMy42MDcyMjAwMWUtMTYgMjQ0LjY1Nzc3OCwwIFoiIGZpbGw9IiMyNjg0RkYiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xODMuODIyMjIyLDYxLjI2MjIyMjIgTDYwLjg3MTExMTEsNjEuMjYyMjIyMiBDNjAuODkwNzIzOCw5MS44ODc0ODg4IDg1LjcxMjUxMTIsMTE2LjcwOTI3NiAxMTYuMzM3Nzc4LDExNi43Mjg4ODkgTDEzOC45ODY2NjcsMTE2LjcyODg4OSBMMTM4Ljk4NjY2NywxMzguNjY2NjY3IEMxMzkuMDI1OTA1LDE2OS4yOTE5MjMgMTYzLjg2MzYwNywxOTQuMDk3ODAzIDE5NC40ODg4ODksMTk0LjA5Nzc3OCBMMTk0LjQ4ODg4OSw3MS45Mjg4ODg5IEMxOTQuNDg4ODg5LDY2LjAzNzg1MTYgMTg5LjcxMzI2LDYxLjI2MjIyMjIgMTgzLjgyMjIyMiw2MS4yNjIyMjIyIFoiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xMjIuOTUxMTExLDEyMi40ODg4ODkgTDAsMTIyLjQ4ODg4OSBDMy43NTM5MTM2MmUtMTUsMTUzLjE0MTkyIDI0Ljg0OTE5MTMsMTc3Ljk5MTExMSA1NS41MDIyMjIyLDE3Ny45OTExMTEgTDc4LjIyMjIyMjIsMTc3Ljk5MTExMSBMNzguMjIyMjIyMiwxOTkuODU3Nzc4IEM3OC4yNDE3NjcsMjMwLjQ1NTMyIDEwMy4wMjAyODUsMjU1LjI2NTY0NyAxMzMuNjE3Nzc4LDI1NS4zMjQ0NDQgTDEzMy42MTc3NzgsMTMzLjE1NTU1NiBDMTMzLjYxNzc3OCwxMjcuMjY0NTE4IDEyOC44NDIxNDgsMTIyLjQ4ODg4OSAxMjIuOTUxMTExLDEyMi40ODg4ODkgWiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0yKSI+PC9wYXRoPgoJCTwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "JIRA" camel.apache.org/kamelet.namespace: "JIRA" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Jira Add Issue Sink" description: Add a new issue to Jira. required: - jiraUrl type: object properties: jiraUrl: title: Jira URL description: The URL of your instance of Jira type: string example: http://my_jira.com:8081 username: title: Username description: The username to access Jira type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access Jira type: string format: password x-descriptors: - urn:camel:group:credentials personal-token: title: Personal Token description: Personal Token type: string x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:jira" - "camel:kamelet" - "mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.5" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[ce-projectKey]}" steps: - setHeader: name: projectKey simple: "${header[ce-projectKey]}" - choice: when: - simple: "${header[ce-issueTypeName]}" steps: - setHeader: name: issueTypeName simple: "${header[ce-issueTypeName]}" - choice: when: - simple: "${header[ce-issueSummary]}" steps: - setHeader: name: issueSummary simple: "${header[ce-issueSummary]}" - choice: when: - simple: "${header[ce-issueAssignee]}" steps: - setHeader: name: issueAssignee simple: "${header[ce-issueAssignee]}" - choice: when: - simple: "${header[ce-issuePriorityName]}" steps: - setHeader: name: issuePriorityName simple: "${header[ce-issuePriorityName]}" - choice: when: - simple: "${header[ce-issueComponents]}" steps: - setHeader: name: issueComponents simple: "${header[ce-issueComponents]}" - choice: when: - simple: "${header[ce-issueDescription]}" steps: - setHeader: name: issueDescription simple: "${header[ce-issueDescription]}" - to: uri: "jira:AddIssue" parameters: jiraUrl: "{{jiraUrl}}" username: "{{?username}}" password: "{{?password}}" accessToken: "{{?personal-token}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jira-oauth-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjU2cHgiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTguMDMwODY3NSUiIHkxPSIwLjE2MDU5OTU3MiUiIHgyPSI1OC44ODc3MDYyJSIgeTI9IjQwLjc2NTUyNDYlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDUyQ0MiIG9mZnNldD0iMTglIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyNjg0RkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMDAuNjY1MjQ3JSIgeTE9IjAuNDU1MDMyMTIlIiB4Mj0iNTUuNDAxODA5NSUiIHkyPSI0NC43MjY5ODA3JSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA1MkNDIiBvZmZzZXQ9IjE4JSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjY4NEZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGc+CgkJCQk8cGF0aCBkPSJNMjQ0LjY1Nzc3OCwwIEwxMjEuNzA2NjY3LDAgQzEyMS43MDY2NjcsMTQuNzIwMTA0NiAxMjcuNTU0MjA1LDI4LjgzNzMxMiAxMzcuOTYyODkxLDM5LjI0NTk5NzcgQzE0OC4zNzE1NzcsNDkuNjU0NjgzNSAxNjIuNDg4Nzg0LDU1LjUwMjIyMjIgMTc3LjIwODg4OSw1NS41MDIyMjIyIEwxOTkuODU3Nzc4LDU1LjUwMjIyMjIgTDE5OS44NTc3NzgsNzcuMzY4ODg4OSBDMTk5Ljg3NzM5MSwxMDcuOTk0MTU1IDIyNC42OTkxNzgsMTMyLjgxNTk0MyAyNTUuMzI0NDQ0LDEzMi44MzU1NTYgTDI1NS4zMjQ0NDQsMTAuNjY2NjY2NyBDMjU1LjMyNDQ0NCw0Ljc3NTYyOTM0IDI1MC41NDg4MTUsMy42MDcyMjAwMWUtMTYgMjQ0LjY1Nzc3OCwwIFoiIGZpbGw9IiMyNjg0RkYiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xODMuODIyMjIyLDYxLjI2MjIyMjIgTDYwLjg3MTExMTEsNjEuMjYyMjIyMiBDNjAuODkwNzIzOCw5MS44ODc0ODg4IDg1LjcxMjUxMTIsMTE2LjcwOTI3NiAxMTYuMzM3Nzc4LDExNi43Mjg4ODkgTDEzOC45ODY2NjcsMTE2LjcyODg4OSBMMTM4Ljk4NjY2NywxMzguNjY2NjY3IEMxMzkuMDI1OTA1LDE2OS4yOTE5MjMgMTYzLjg2MzYwNywxOTQuMDk3ODAzIDE5NC40ODg4ODksMTk0LjA5Nzc3OCBMMTk0LjQ4ODg4OSw3MS45Mjg4ODg5IEMxOTQuNDg4ODg5LDY2LjAzNzg1MTYgMTg5LjcxMzI2LDYxLjI2MjIyMjIgMTgzLjgyMjIyMiw2MS4yNjIyMjIyIFoiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xMjIuOTUxMTExLDEyMi40ODg4ODkgTDAsMTIyLjQ4ODg4OSBDMy43NTM5MTM2MmUtMTUsMTUzLjE0MTkyIDI0Ljg0OTE5MTMsMTc3Ljk5MTExMSA1NS41MDIyMjIyLDE3Ny45OTExMTEgTDc4LjIyMjIyMjIsMTc3Ljk5MTExMSBMNzguMjIyMjIyMiwxOTkuODU3Nzc4IEM3OC4yNDE3NjcsMjMwLjQ1NTMyIDEwMy4wMjAyODUsMjU1LjI2NTY0NyAxMzMuNjE3Nzc4LDI1NS4zMjQ0NDQgTDEzMy42MTc3NzgsMTMzLjE1NTU1NiBDMTMzLjYxNzc3OCwxMjcuMjY0NTE4IDEyOC44NDIxNDgsMTIyLjQ4ODg4OSAxMjIuOTUxMTExLDEyMi40ODg4ODkgWiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0yKSI+PC9wYXRoPgoJCTwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "JIRA" camel.apache.org/kamelet.namespace: "JIRA" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Jira oauth Source" description: Receive notifications about new issues from Jira through OAuth authentication. required: - jiraUrl - accessToken - verificationCode - consumerKey - privateKey - jql type: object properties: jiraUrl: title: Jira URL description: The URL of your instance of Jira. type: string example: http://my_jira.com:8081 accessToken: title: Username description: The access token generated by the Jira server. type: string format: password x-descriptors: - urn:camel:group:credentials verificationCode: title: Password description: The verification code from Jira generated in the first step of the authorization proccess. type: string format: password x-descriptors: - urn:camel:group:credentials consumerKey: title: Password description: The consumer key from Jira settings. type: string format: password x-descriptors: - urn:camel:group:credentials privateKey: title: Password description: The private key generated by the client to encrypt the conversation to the server. type: string format: password x-descriptors: - urn:camel:group:credentials jql: title: JQL description: A query to filter issues. type: string example: project=MyProject types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:jira" - "camel:kamelet" - "mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.5" template: from: uri: "jira:newIssues" parameters: jiraUrl: "{{jiraUrl}}" accessToken: "{{accessToken}}" verificationCode: "{{verificationCode}}" privateKey: "RAW({{privateKey}})" consumerKey: "{{consumerKey}}" jql: "{{jql}}" steps: - marshal: json: library: Jackson moduleClassNames: com.fasterxml.jackson.datatype.joda.JodaModule - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jira-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjU2cHgiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTguMDMwODY3NSUiIHkxPSIwLjE2MDU5OTU3MiUiIHgyPSI1OC44ODc3MDYyJSIgeTI9IjQwLjc2NTUyNDYlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDUyQ0MiIG9mZnNldD0iMTglIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyNjg0RkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMDAuNjY1MjQ3JSIgeTE9IjAuNDU1MDMyMTIlIiB4Mj0iNTUuNDAxODA5NSUiIHkyPSI0NC43MjY5ODA3JSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA1MkNDIiBvZmZzZXQ9IjE4JSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjY4NEZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGc+CgkJCQk8cGF0aCBkPSJNMjQ0LjY1Nzc3OCwwIEwxMjEuNzA2NjY3LDAgQzEyMS43MDY2NjcsMTQuNzIwMTA0NiAxMjcuNTU0MjA1LDI4LjgzNzMxMiAxMzcuOTYyODkxLDM5LjI0NTk5NzcgQzE0OC4zNzE1NzcsNDkuNjU0NjgzNSAxNjIuNDg4Nzg0LDU1LjUwMjIyMjIgMTc3LjIwODg4OSw1NS41MDIyMjIyIEwxOTkuODU3Nzc4LDU1LjUwMjIyMjIgTDE5OS44NTc3NzgsNzcuMzY4ODg4OSBDMTk5Ljg3NzM5MSwxMDcuOTk0MTU1IDIyNC42OTkxNzgsMTMyLjgxNTk0MyAyNTUuMzI0NDQ0LDEzMi44MzU1NTYgTDI1NS4zMjQ0NDQsMTAuNjY2NjY2NyBDMjU1LjMyNDQ0NCw0Ljc3NTYyOTM0IDI1MC41NDg4MTUsMy42MDcyMjAwMWUtMTYgMjQ0LjY1Nzc3OCwwIFoiIGZpbGw9IiMyNjg0RkYiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xODMuODIyMjIyLDYxLjI2MjIyMjIgTDYwLjg3MTExMTEsNjEuMjYyMjIyMiBDNjAuODkwNzIzOCw5MS44ODc0ODg4IDg1LjcxMjUxMTIsMTE2LjcwOTI3NiAxMTYuMzM3Nzc4LDExNi43Mjg4ODkgTDEzOC45ODY2NjcsMTE2LjcyODg4OSBMMTM4Ljk4NjY2NywxMzguNjY2NjY3IEMxMzkuMDI1OTA1LDE2OS4yOTE5MjMgMTYzLjg2MzYwNywxOTQuMDk3ODAzIDE5NC40ODg4ODksMTk0LjA5Nzc3OCBMMTk0LjQ4ODg4OSw3MS45Mjg4ODg5IEMxOTQuNDg4ODg5LDY2LjAzNzg1MTYgMTg5LjcxMzI2LDYxLjI2MjIyMjIgMTgzLjgyMjIyMiw2MS4yNjIyMjIyIFoiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xMjIuOTUxMTExLDEyMi40ODg4ODkgTDAsMTIyLjQ4ODg4OSBDMy43NTM5MTM2MmUtMTUsMTUzLjE0MTkyIDI0Ljg0OTE5MTMsMTc3Ljk5MTExMSA1NS41MDIyMjIyLDE3Ny45OTExMTEgTDc4LjIyMjIyMjIsMTc3Ljk5MTExMSBMNzguMjIyMjIyMiwxOTkuODU3Nzc4IEM3OC4yNDE3NjcsMjMwLjQ1NTMyIDEwMy4wMjAyODUsMjU1LjI2NTY0NyAxMzMuNjE3Nzc4LDI1NS4zMjQ0NDQgTDEzMy42MTc3NzgsMTMzLjE1NTU1NiBDMTMzLjYxNzc3OCwxMjcuMjY0NTE4IDEyOC44NDIxNDgsMTIyLjQ4ODg4OSAxMjIuOTUxMTExLDEyMi40ODg4ODkgWiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0yKSI+PC9wYXRoPgoJCTwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "JIRA" camel.apache.org/kamelet.namespace: "JIRA" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Jira Source" description: Receive notifications about new issues from Jira. required: - jiraUrl type: object properties: jiraUrl: title: Jira URL description: The URL of your instance of Jira. type: string example: http://my_jira.com:8081 username: title: Username description: The username to access Jira. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access Jira. type: string format: password x-descriptors: - urn:camel:group:credentials personal-token: title: Personal Token description: Personal Token type: string x-descriptors: - urn:camel:group:credentials jql: title: JQL description: A query to filter issues. type: string example: project=MyProject types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:jira" - "camel:kamelet" - "mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.5" template: from: uri: "jira:newIssues" parameters: jiraUrl: "{{jiraUrl}}" username: "{{?username}}" password: "{{?password}}" accessToken: "{{?personal-token}}" jql: "{{jql}}" steps: - marshal: json: library: Jackson moduleClassNames: com.fasterxml.jackson.datatype.joda.JodaModule - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jira-transition-issue-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjU2cHgiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTguMDMwODY3NSUiIHkxPSIwLjE2MDU5OTU3MiUiIHgyPSI1OC44ODc3MDYyJSIgeTI9IjQwLjc2NTUyNDYlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDUyQ0MiIG9mZnNldD0iMTglIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyNjg0RkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMDAuNjY1MjQ3JSIgeTE9IjAuNDU1MDMyMTIlIiB4Mj0iNTUuNDAxODA5NSUiIHkyPSI0NC43MjY5ODA3JSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA1MkNDIiBvZmZzZXQ9IjE4JSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjY4NEZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGc+CgkJCQk8cGF0aCBkPSJNMjQ0LjY1Nzc3OCwwIEwxMjEuNzA2NjY3LDAgQzEyMS43MDY2NjcsMTQuNzIwMTA0NiAxMjcuNTU0MjA1LDI4LjgzNzMxMiAxMzcuOTYyODkxLDM5LjI0NTk5NzcgQzE0OC4zNzE1NzcsNDkuNjU0NjgzNSAxNjIuNDg4Nzg0LDU1LjUwMjIyMjIgMTc3LjIwODg4OSw1NS41MDIyMjIyIEwxOTkuODU3Nzc4LDU1LjUwMjIyMjIgTDE5OS44NTc3NzgsNzcuMzY4ODg4OSBDMTk5Ljg3NzM5MSwxMDcuOTk0MTU1IDIyNC42OTkxNzgsMTMyLjgxNTk0MyAyNTUuMzI0NDQ0LDEzMi44MzU1NTYgTDI1NS4zMjQ0NDQsMTAuNjY2NjY2NyBDMjU1LjMyNDQ0NCw0Ljc3NTYyOTM0IDI1MC41NDg4MTUsMy42MDcyMjAwMWUtMTYgMjQ0LjY1Nzc3OCwwIFoiIGZpbGw9IiMyNjg0RkYiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xODMuODIyMjIyLDYxLjI2MjIyMjIgTDYwLjg3MTExMTEsNjEuMjYyMjIyMiBDNjAuODkwNzIzOCw5MS44ODc0ODg4IDg1LjcxMjUxMTIsMTE2LjcwOTI3NiAxMTYuMzM3Nzc4LDExNi43Mjg4ODkgTDEzOC45ODY2NjcsMTE2LjcyODg4OSBMMTM4Ljk4NjY2NywxMzguNjY2NjY3IEMxMzkuMDI1OTA1LDE2OS4yOTE5MjMgMTYzLjg2MzYwNywxOTQuMDk3ODAzIDE5NC40ODg4ODksMTk0LjA5Nzc3OCBMMTk0LjQ4ODg4OSw3MS45Mjg4ODg5IEMxOTQuNDg4ODg5LDY2LjAzNzg1MTYgMTg5LjcxMzI2LDYxLjI2MjIyMjIgMTgzLjgyMjIyMiw2MS4yNjIyMjIyIFoiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xMjIuOTUxMTExLDEyMi40ODg4ODkgTDAsMTIyLjQ4ODg4OSBDMy43NTM5MTM2MmUtMTUsMTUzLjE0MTkyIDI0Ljg0OTE5MTMsMTc3Ljk5MTExMSA1NS41MDIyMjIyLDE3Ny45OTExMTEgTDc4LjIyMjIyMjIsMTc3Ljk5MTExMSBMNzguMjIyMjIyMiwxOTkuODU3Nzc4IEM3OC4yNDE3NjcsMjMwLjQ1NTMyIDEwMy4wMjAyODUsMjU1LjI2NTY0NyAxMzMuNjE3Nzc4LDI1NS4zMjQ0NDQgTDEzMy42MTc3NzgsMTMzLjE1NTU1NiBDMTMzLjYxNzc3OCwxMjcuMjY0NTE4IDEyOC44NDIxNDgsMTIyLjQ4ODg4OSAxMjIuOTUxMTExLDEyMi40ODg4ODkgWiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0yKSI+PC9wYXRoPgoJCTwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "JIRA" camel.apache.org/kamelet.namespace: "JIRA" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Jira Transition Issue Sink" description: Sets a new status (transition to) of an existing issue in Jira. required: - jiraUrl type: object properties: jiraUrl: title: Jira URL description: The URL of your instance of Jira type: string example: http://my_jira.com:8081 username: title: Username description: The username to access Jira type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access Jira type: string format: password x-descriptors: - urn:camel:group:credentials personal-token: title: Personal Token description: Personal Token type: string x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:jira" - "camel:kamelet" - "mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.5" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[ce-issueKey]}" steps: - setHeader: name: issueKey simple: "${header[ce-issueKey]}" - choice: when: - simple: "${header[ce-issueTransitionId]}" steps: - setHeader: name: issueTransitionId simple: "${header[ce-issueTransitionId]}" - to: uri: "jira:transitionIssue" parameters: jiraUrl: "{{jiraUrl}}" username: "{{?username}}" password: "{{?password}}" accessToken: "{{?personal-token}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jira-update-issue-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB3aWR0aD0iMjU2cHgiIGhlaWdodD0iMjU2cHgiIHZpZXdCb3g9IjAgMCAyNTYgMjU2IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0iOTguMDMwODY3NSUiIHkxPSIwLjE2MDU5OTU3MiUiIHgyPSI1OC44ODc3MDYyJSIgeTI9IjQwLjc2NTUyNDYlIiBpZD0ibGluZWFyR3JhZGllbnQtMSI+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMwMDUyQ0MiIG9mZnNldD0iMTglIj48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9IiMyNjg0RkYiIG9mZnNldD0iMTAwJSI+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IHgxPSIxMDAuNjY1MjQ3JSIgeTE9IjAuNDU1MDMyMTIlIiB4Mj0iNTUuNDAxODA5NSUiIHkyPSI0NC43MjY5ODA3JSIgaWQ9ImxpbmVhckdyYWRpZW50LTIiPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMDA1MkNDIiBvZmZzZXQ9IjE4JSI+PC9zdG9wPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPSIjMjY4NEZGIiBvZmZzZXQ9IjEwMCUiPjwvc3RvcD4KICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPC9kZWZzPgogICAgPGc+CgkJCQk8cGF0aCBkPSJNMjQ0LjY1Nzc3OCwwIEwxMjEuNzA2NjY3LDAgQzEyMS43MDY2NjcsMTQuNzIwMTA0NiAxMjcuNTU0MjA1LDI4LjgzNzMxMiAxMzcuOTYyODkxLDM5LjI0NTk5NzcgQzE0OC4zNzE1NzcsNDkuNjU0NjgzNSAxNjIuNDg4Nzg0LDU1LjUwMjIyMjIgMTc3LjIwODg4OSw1NS41MDIyMjIyIEwxOTkuODU3Nzc4LDU1LjUwMjIyMjIgTDE5OS44NTc3NzgsNzcuMzY4ODg4OSBDMTk5Ljg3NzM5MSwxMDcuOTk0MTU1IDIyNC42OTkxNzgsMTMyLjgxNTk0MyAyNTUuMzI0NDQ0LDEzMi44MzU1NTYgTDI1NS4zMjQ0NDQsMTAuNjY2NjY2NyBDMjU1LjMyNDQ0NCw0Ljc3NTYyOTM0IDI1MC41NDg4MTUsMy42MDcyMjAwMWUtMTYgMjQ0LjY1Nzc3OCwwIFoiIGZpbGw9IiMyNjg0RkYiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xODMuODIyMjIyLDYxLjI2MjIyMjIgTDYwLjg3MTExMTEsNjEuMjYyMjIyMiBDNjAuODkwNzIzOCw5MS44ODc0ODg4IDg1LjcxMjUxMTIsMTE2LjcwOTI3NiAxMTYuMzM3Nzc4LDExNi43Mjg4ODkgTDEzOC45ODY2NjcsMTE2LjcyODg4OSBMMTM4Ljk4NjY2NywxMzguNjY2NjY3IEMxMzkuMDI1OTA1LDE2OS4yOTE5MjMgMTYzLjg2MzYwNywxOTQuMDk3ODAzIDE5NC40ODg4ODksMTk0LjA5Nzc3OCBMMTk0LjQ4ODg4OSw3MS45Mjg4ODg5IEMxOTQuNDg4ODg5LDY2LjAzNzg1MTYgMTg5LjcxMzI2LDYxLjI2MjIyMjIgMTgzLjgyMjIyMiw2MS4yNjIyMjIyIFoiIGZpbGw9InVybCgjbGluZWFyR3JhZGllbnQtMSkiPjwvcGF0aD4KCQkJCTxwYXRoIGQ9Ik0xMjIuOTUxMTExLDEyMi40ODg4ODkgTDAsMTIyLjQ4ODg4OSBDMy43NTM5MTM2MmUtMTUsMTUzLjE0MTkyIDI0Ljg0OTE5MTMsMTc3Ljk5MTExMSA1NS41MDIyMjIyLDE3Ny45OTExMTEgTDc4LjIyMjIyMjIsMTc3Ljk5MTExMSBMNzguMjIyMjIyMiwxOTkuODU3Nzc4IEM3OC4yNDE3NjcsMjMwLjQ1NTMyIDEwMy4wMjAyODUsMjU1LjI2NTY0NyAxMzMuNjE3Nzc4LDI1NS4zMjQ0NDQgTDEzMy42MTc3NzgsMTMzLjE1NTU1NiBDMTMzLjYxNzc3OCwxMjcuMjY0NTE4IDEyOC44NDIxNDgsMTIyLjQ4ODg4OSAxMjIuOTUxMTExLDEyMi40ODg4ODkgWiIgZmlsbD0idXJsKCNsaW5lYXJHcmFkaWVudC0yKSI+PC9wYXRoPgoJCTwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "JIRA" camel.apache.org/kamelet.namespace: "JIRA" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Jira Update Issue Sink" description: Update fields of an existing issue in Jira. required: - jiraUrl type: object properties: jiraUrl: title: Jira URL description: The URL of your instance of Jira type: string example: http://my_jira.com:8081 username: title: Username description: The username to access Jira type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access Jira type: string format: password x-descriptors: - urn:camel:group:credentials personal-token: title: Personal Token description: Personal Token type: string x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:jira" - "camel:kamelet" - "mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.5" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[ce-issueKey]}" steps: - setHeader: name: issueKey simple: "${header[ce-issueKey]}" - choice: when: - simple: "${header[ce-issueTypeName]}" steps: - setHeader: name: issueTypeName simple: "${header[ce-issueTypeName]}" - choice: when: - simple: "${header[ce-issueSummary]}" steps: - setHeader: name: issueSummary simple: "${header[ce-issueSummary]}" - choice: when: - simple: "${header[ce-issueAssignee]}" steps: - setHeader: name: issueAssignee simple: "${header[ce-issueAssignee]}" - choice: when: - simple: "${header[ce-issuePriorityName]}" steps: - setHeader: name: issuePriorityName simple: "${header[ce-issuePriorityName]}" - choice: when: - simple: "${header[ce-issueComponents]}" steps: - setHeader: name: issueComponents simple: "${header[ce-issueComponents]}" - choice: when: - simple: "${header[ce-issueDescription]}" steps: - setHeader: name: issueDescription simple: "${header[ce-issueDescription]}" - to: uri: "jira:UpdateIssue" parameters: jiraUrl: "{{jiraUrl}}" username: "{{?username}}" password: "{{?password}}" accessToken: "{{?personal-token}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jms-amqp-10-sink annotations: camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMTkzLjgzMzVtbSIKICAgaGVpZ2h0PSI5Ny4yNjgwMTNtbSIKICAgdmlld0JveD0iMCAwIDE5My44MzM1IDk3LjI2ODAxMyIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMTAwMyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45Mi4zICgyNDA1NTQ2LCAyMDE4LTAzLTExKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0icXBpZC5zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM5OTciPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0iU1ZHSURfMV8tNyIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgeDE9Ii02ODczLjY0NzkiCiAgICAgICB5MT0iMjc3NC4yOTk4IgogICAgICAgeDI9Ii02NjM2LjIzNzMiCiAgICAgICB5Mj0iMjQ5Ni42ODk1IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRjU5NzIzIgogICAgICAgICBpZD0ic3RvcDMxNzItNSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjMxMjMiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNGNjk4MjIiCiAgICAgICAgIGlkPSJzdG9wMzE3NC0zIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuODM4MyIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0U4NzcyNiIKICAgICAgICAgaWQ9InN0b3AzMTc2LTUiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0iU1ZHSURfMl8tNiIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgeDE9Ii04NjMwLjcxOTciCiAgICAgICB5MT0iMjgwNC45NjA3IgogICAgICAgeDI9Ii02OTM2LjkyNTMiCiAgICAgICB5Mj0iMjgwNC45NjA3IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgIGlkPSJzdG9wMzE5Ny0yIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgaWQ9InN0b3AzMTk5LTkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICBpZD0ic3RvcDMyMDEtMSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICBpZD0ic3RvcDMyMDMtMiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJTVkdJRF8zXy03IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICB4MT0iLTg0MjYuMjU1OSIKICAgICAgIHkxPSIyNjM1LjI4MzkiCiAgICAgICB4Mj0iLTc0MTYuOTE5NCIKICAgICAgIHkyPSIyNjM1LjI4MzkiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMyODI2NjEiCiAgICAgICAgIGlkPSJzdG9wMzIwOC0wIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjkuNTQ4Mzg5ZS0wMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzY2MkU4QyIKICAgICAgICAgaWQ9InN0b3AzMjEwLTkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43ODgyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojOUUyMDY0IgogICAgICAgICBpZD0ic3RvcDMyMTItMyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjk0ODciCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIwMzIiCiAgICAgICAgIGlkPSJzdG9wMzIxNC02IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9IlNWR0lEXzRfLTAiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItODUzNS41ODc5IgogICAgICAgeTE9IjI4MjAuODYwNCIKICAgICAgIHgyPSItNjg0MS43OTMiCiAgICAgICB5Mj0iMjgyMC44NjA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgIGlkPSJzdG9wMzIxOS02IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgaWQ9InN0b3AzMjIxLTIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICBpZD0ic3RvcDMyMjMtNiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICBpZD0ic3RvcDMyMjUtMSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJTVkdJRF81Xy04IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICB4MT0iLTg0MTIuMDU3NiIKICAgICAgIHkxPSIyNzk3Ljg3ODkiCiAgICAgICB4Mj0iLTc1MjEuOTE3NSIKICAgICAgIHkyPSIyNzk3Ljg3ODkiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMyODI2NjEiCiAgICAgICAgIGlkPSJzdG9wMzIzMC03IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjkuNTQ4Mzg5ZS0wMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzY2MkU4QyIKICAgICAgICAgaWQ9InN0b3AzMjMyLTkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43ODgyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojOUUyMDY0IgogICAgICAgICBpZD0ic3RvcDMyMzQtMiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjk0ODciCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIwMzIiCiAgICAgICAgIGlkPSJzdG9wMzIzNi0wIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9IlNWR0lEXzZfLTIiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItODUzNS41ODc5IgogICAgICAgeTE9IjI2NDUuNDg5NyIKICAgICAgIHgyPSItNjg0MS43OTMiCiAgICAgICB5Mj0iMjY0NS40ODk3IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgIGlkPSJzdG9wMzI0MS0zIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgaWQ9InN0b3AzMjQzLTciIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICBpZD0ic3RvcDMyNDUtNSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICBpZD0ic3RvcDMyNDctOSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJTVkdJRF83Xy0yIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICB4MT0iLTg2NDAuNjU5MiIKICAgICAgIHkxPSIyNjU0LjI2NDkiCiAgICAgICB4Mj0iLTY5NDYuODY0NyIKICAgICAgIHkyPSIyNjU0LjI2NDkiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuMzIzMyIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgaWQ9InN0b3AzMjUyLTIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC42MzAyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICBpZD0ic3RvcDMyNTQtOCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjc1MTQiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgIGlkPSJzdG9wMzI1Ni05IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgIGlkPSJzdG9wMzI1OC03IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9IlNWR0lEXzhfLTMiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItODUzNS41ODg5IgogICAgICAgeTE9IjI1OTMuNDQ2IgogICAgICAgeDI9Ii02ODQxLjc5MjUiCiAgICAgICB5Mj0iMjU5My40NDYiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuMzIzMyIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgaWQ9InN0b3AzMjY3LTYiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC42MzAyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICBpZD0ic3RvcDMyNjktMSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjc1MTQiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgIGlkPSJzdG9wMzI3MS0yIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgIGlkPSJzdG9wMzI3My05IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9IlNWR0lEXzlfLTMiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItODUzNS41ODg5IgogICAgICAgeTE9IjI1OTkuMzI0MiIKICAgICAgIHgyPSItNjg0MS43OTI1IgogICAgICAgeTI9IjI1OTkuMzI0MiIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC40MzQ1LC0wLjkzMTgsLTAuOTMxOCwtMC40MzQ1LDYyMjMuNDc2MSwtNTA1Mi43NDI3KSI+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojOUMyMDYzIgogICAgICAgICBpZD0ic3RvcDMyODItMSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDODIwMzciCiAgICAgICAgIGlkPSJzdG9wMzI4NC05IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0NDMjEzNSIKICAgICAgICAgaWQ9InN0b3AzMjg2LTQiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0U4NzcyNiIKICAgICAgICAgaWQ9InN0b3AzMjg4LTciIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0iU1ZHSURfMTBfLTgiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItNzU4NC4wMzg2IgogICAgICAgeTE9IjI2MDAuNTUxNSIKICAgICAgIHgyPSItNzIwOS42NTQzIgogICAgICAgeTI9IjI2MDAuNTUxNSIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC40MzQ1LC0wLjkzMTgsLTAuOTMxOCwtMC40MzQ1LDYyMjMuNDc2MSwtNTA1Mi43NDI3KSI+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojOUMyMDYzIgogICAgICAgICBpZD0ic3RvcDMyOTctNCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDODIwMzciCiAgICAgICAgIGlkPSJzdG9wMzI5OS01IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0NDMjEzNSIKICAgICAgICAgaWQ9InN0b3AzMzAxLTAiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0U4NzcyNiIKICAgICAgICAgaWQ9InN0b3AzMzAzLTMiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9ImJhc2UiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6em9vbT0iMS40IgogICAgIGlua3NjYXBlOmN4PSIxNzkuMjM0NjYiCiAgICAgaW5rc2NhcGU6Y3k9IjIwNy4wNzAyOSIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0ibW0iCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBmaXQtbWFyZ2luLXRvcD0iMCIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjM3MjYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMjA0OSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMTE0IgogICAgIGlua3NjYXBlOndpbmRvdy15PSI1NSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwMDAiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2Ny4yNDA5NiwtMTUuNjM4MzgzKSI+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6IzJkMmQyZDtzdHJva2Utd2lkdGg6MC4yNjQ1ODMzMiIKICAgICAgIGQ9Im0gLTg0LjA4NzA2MSwxMTIuNzgyMzQgYyAtMC4xMDA0OCwtMC4xMDA0OCAtMC4xODI3LC0xNi40NjE2NzYgLTAuMTgyNywtMzYuMzU4MjA2IDAsLTMyLjc0MzI2IDAuMDM5NywtMzYuMTkwNzUgMC40MTg1MiwtMzYuMzM2MTEgMC41NDUxMywtMC4yMDkxOSA3LjYxMzY2NCwtMC4yMDkxOSA4LjE1ODgwNCwwIDAuMzA5MjUsMC4xMTg2NyAwLjQxODUxLDAuNTI5MDUgMC40MTg1MSwxLjU3MTg4IDAsMS42MjU5NyAwLjMyODE5LDEuOTgxMiAxLjE0NDA3LDEuMjM4MzUgNC4yOTMxNywtMy45MDg5MSAxNC40OTI5NSwtNS4wMDQyNiAyMS4yMTEzNSwtMi4yNzc4OSA4LjcxOTYzLDMuNTM4NDggMTMuOTM5NTgsMTMuNjQ1NjQgMTMuMjY0MzI5LDI1LjY4MzExIC0wLjUxNjQ0LDkuMjA2NCAtNC40MzQzOTksMTcuMDUzMjEgLTEwLjk3NTk2OSwyMS45ODI0MiAtNC4xNTM0MiwzLjEyOTcgLTcuMjM5ODUsNC4xNDUyIC0xMi42MDUyMyw0LjE0NzM3IC00LjczMjE0LDAuMDAyIC03Ljg3MjIxLC0wLjcyNDExIC0xMC4zMjE5OSwtMi4zODY1OCAtMC41MzI5NSwtMC4zNjE2NiAtMS4xMDc0MywtMC42ODM4OCAtMS4yNzY2MywtMC43MTYwMiAtMC4yMjg0NiwtMC4wNDM0IC0wLjM0MTY4LDIuOTcxNiAtMC40Mzk5MywxMS43MTU1MDYgbCAtMC4xMzIyOSwxMS43NzM5NiAtNC4yNDkwNywwLjA3MjUgYyAtMi4zMzY5OSwwLjAzOTkgLTQuMzMxMjg0LC0wLjAxIC00LjQzMTc3NCwtMC4xMTAyNSB6IG0gMjEuOTEwMDE0LC0yOC4yNzU1MTYgYyAzLjAwMDEyLC0wLjYzMjY4IDUuMDAyOTYsLTEuNzcwODggNy40NDg4NSwtNC4yMzMxMyAyLjQzODMsLTIuNDU0NjEgMy44ODUyOCwtNS4wNDA3MiA0Ljg5MTgzLC04Ljc0Mjg0IDAuNzc1NjYsLTIuODUyOTIgMC44NDA1MiwtOS4yNjc1MiAwLjEyNTU5LC0xMi40MjExNCAtMS43MTAyLC03LjU0Mzg3IC02LjE2MTIsLTExLjQzNDcxIC0xNC4wOTQ0NCwtMTIuMzIwNjMgLTEuOTg0NTYsLTAuMjIxNjIgLTIuNzQ3NjksLTAuMTk0OSAtNC4yMjYwMiwwLjE0Nzk1IC0yLjQ0NzA5LDAuNTY3NTEgLTUuNDEzMywyLjAzNzc0IC02LjQxNjYsMy4xODA0NSBsIC0wLjgyNjA5LDAuOTQwODUgdiAxNC4yMzg2IDE0LjIzODU5IGwgMC43NTk4NywxLjA0ODk2IGMgMi41NzUwNCwzLjU1NDc2IDcuMTYzMDksNS4wMTM0NCAxMi4zMzcwMSwzLjkyMjM0IHogbSAtNDUuMjA3ODQzLDEuMjAyNDggYyAtNS4wNzA5NiwzLjI1ODIyIC0xMC42NTgzNSw1LjI5NzI2IC0xNi43MDQ2Niw2LjA5NjE2IC0zLjIwMzQyLDAuNDIzMjYgLTkuMzE3MzMsMC4xNjIyNyAtMTIuNjIwMzYsLTAuNTM4NzYgLTE1LjA2MTMsLTMuMTk2NTUgLTI2LjUyMTAzLC0xNC42MzM4MyAtMjkuOTEwMDksLTI5Ljg1MTUgLTAuODI3OTQsLTMuNzE3NjggLTAuODI3OTQsLTExLjQ3NjYzIDAsLTE1LjE5NDMxIDMuNjY3MjksLTE2LjQ2NzAxMyAxNi43MTM3NSwtMjguMzM2OTczIDMzLjQwMjMyLC0zMC4zOTAxODMgMy4wNzYyMywtMC4zNzg0NyA4LjgyNTg2LC0wLjE3Njg5IDExLjg3OCwwLjQxNjQ0IDE1LjM0OTc2LDIuOTgzOTYgMjcuMDg2OTc5LDE0LjUxMTgxIDMwLjUxODEwOSwyOS45NzM3NDMgMC43NzAzNywzLjQ3MTU1IDAuODMzMDEsMTEuMTY5OTcgMC4xMTk2LDE0LjY5ODM4IC0xLjM1MTk2LDYuNjg2NTcgLTQuNzU0MzMsMTMuNTI1NTEgLTguOTg3ODYsMTguMDY2MDYgMCwwIC0xLjA4Mzk3OSwyLjU4MDI5NSAtNy42OTUwNTksNi43MjM5NyB6IG0gLTE0Ljc2NTA0LC0yLjg5NzMgYyAzLjY1MTk2LC0wLjc5OTc1IDguMzYwMTksLTIuNzU5NyA4LjY4OTIzLC0zLjYxNzE2IGwgNS44MDUzLC01Ljg0NDEyIDEuMjkyOTIsMC40MzY5NSAwLjc2LC0wLjg1NjcgYyAxLjU4MzQxLC0xLjc4NDg5IDMuOTE5MjIsLTUuNzE3NDcgNC45MDkxNCwtOC4yNjUwNSAxLjQ4OTY1OSwtMy44MzM2MyAxLjk3NTc5OSwtNi40NzAxOSAxLjk3NTc5OSwtMTAuNzE1NjIgMCwtNC4yNDU0NCAtMC40ODYxNCwtNi44ODIgLTEuOTc1Nzk5LC0xMC43MTU2MyAtMy41ODY5MywtOS4yMzA5ODMgLTExLjg5MTIyLC0xNi4xNDc3MTMgLTIxLjk0MTAxLC0xOC4yNzQ4ODMgLTMuMDY4NzksLTAuNjQ5NTUgLTguODM3NDcsLTAuNjQ5NTUgLTExLjkwNjI1LDAgLTExLjg0NzQ4LDIuNTA3NjggLTIwLjk5NDMxLDExLjU0Nzg4MyAtMjMuNDQyOTcsMjMuMTY5NjczIC0wLjY0MjY1LDMuMDUwMTYgLTAuNjQyNjUsOC41OTE1MSAwLDExLjY0MTY3IDIuNjc0MjQsMTIuNjkyNDggMTMuMzU1NjEsMjIuMjI4NTIgMjYuNDg1NjgsMjMuNjQ1NzIgMi4wMzMyOCwwLjIxOTQ2IDcuMDcyNzQsLTAuMTA2NjMgOS4zNDc5NSwtMC42MDQ4OSB6IG0gOTAuNjU4MDUsOC42NDkxNSBjIC0wLjA2OTc5LC0wLjE4NTI3IC0wLjE1NjQwOSwtMTAuMzM4MTEgLTAuMTkyNDg3LC0yMi41NjE4NiBsIC0wLjA2NTYsLTIyLjIyNSAtNS4wMjcwODQsLTAuMTMyMjkgLTUuMDI3MDgzLC0wLjEzMjI5IHYgLTMuOTY4NzUgLTMuOTY4NzUgaCA5LjkyMTg3NSA5LjkyMTg3NSB2IDI2LjU5MDYzIDI2LjU5MDYyIGwgLTQuNzAyMzA3LDAuMDcyMyBjIC0zLjYxNzg0NCwwLjA1NTYgLTQuNzMxNTY4LC0wLjAwNSAtNC44MjkxOTEsLTAuMjY0NTkgeiBtIDMwLjU2NTg3MzM3LC0wLjYwMDM5IEMgLTkuMjU4Mzc1OSw4OS4xODM5MjQgLTE1LjQxNDg5Nyw4Mi42NDg4MDQgLTE3LjM3MjQzMyw3My40MDI5NTQgYyAtMS4wMzIxNjksLTQuODc1MTUgLTAuOTE0NDc5LC0xMS4zNyAwLjI5MTQ3MywtMTYuMDg1MjMgMS44NTkwMjksLTcuMjY4NzMgNy4yNzQyNTMxLC0xNC4zNzY1MSAxMy4yNTIxMDMxLC0xNy4zOTQxMiAzLjEwOTI3ODI3LC0xLjU2OTU2IDUuMDQ1MjI5MywtMS45Nzc4NCA5LjM4NTE0MjMsLTEuOTc5MjYgMi41MDU2OTYsLTcuOWUtNCA0LjUwNTIwMjYsMC4xMzM2NCA1LjQyMzk1NzYsMC4zNjQ3MyAxLjcwNzMwNiwwLjQyOTQzIDQuNjcwNiwxLjcxNzc1IDUuMzM1ODc2LDIuMzE5ODIgMC4yNTU4ODYsMC4yMzE1NyAwLjY0ODI3NywwLjM1MDgxIDAuODcxOTc3LDAuMjY0OTcgMC4zNTc0MDEsLTAuMTM3MTUgMC40MDY3MywtMS41Njk3OSAwLjQwNjczLC0xMS44MTI0NTMgdiAtMTEuNjU2MzcgbCA0LjQzMTc3MSwwLjA3MjYgNC40MzE3NzEsMC4wNzI1IDAuMDY3MDksMzYuMzE0MDYzIDAuMDY3MDgsMzYuMzE0MDYgaCAtNC40OTg4NTQgLTQuNDk4ODU2IHYgLTEuNDM5NTkgYyAwLC0wLjc5MTc4IC0wLjExMzA1OSwtMS41MDk0NyAtMC4yNTEyNDUsLTEuNTk0ODcgLTAuMTM4MTg0LC0wLjA4NTQgLTEuMDIwMTk3LDAuMzcxMTYgLTEuOTYwMDIzLDEuMDE0NiAtMC45Mzk4MjksMC42NDM0MyAtMi4zNzk4OTUsMS40MjA5NyAtMy4yMDAxNDksMS43Mjc4NiAtMy4zOTU5ODk2LDEuMjcwNjEgLTkuMzc1MzY0NiwxLjcwNTk3IC0xMy4xMDk0MTU2MywwLjk1NDUxIHogTSAxMS42MDY5NzUsODMuMDY2NDU0IGMgMi4xODAyMjUsLTAuNzUwMTEgNC41OTM5NSwtMi4xMDAxNiA1LjMzOTk5LC0yLjk4Njc3IGwgMC42NDc4NjEsLTAuNzY5OTQgdiAtMTQuMjI3NTEgLTE0LjIyNzUgbCAtMC43NTk4NjIsLTEuMDQ4OTYgYyAtMC45OTgwNzcsLTEuMzc3OCAtMi41NDM0MjYsLTIuNTgwMzUgLTQuNDE5ODc1LC0zLjQzOTQyIC0yLjAwMTM4LC0wLjkxNjI2IC01LjQ5MTE4MzYsLTEuMTMzODMgLTguMTUxNzQ4NiwtMC41MDgyMiAtOC4yMDkyNzczLDEuOTMwMzQgLTEzLjI1OTA5NDMsMTAuMDQ3MzIgLTEyLjc3MDg1MDMsMjAuNTI3NjIgMC41MjYyMTEsMTEuMjk1MjcgNS45NTEzMjMsMTcuMDkzMDEgMTYuMDcyODk1MywxNy4xNzY4OSAxLjg3MzIyMSwwLjAxNTUgMi45MzIxNDk2LC0wLjExNDQ4IDQuMDQxNTg5NiwtMC40OTYxOSB6IE0gLTMxLjQ5NzkzMSwzMS4zOTExNzEgYyAtMC4wNzMxOCwtMC4xOTA3IC0wLjEwMDI5LC0yLjM2NjQxIC0wLjA2MDI1LC00LjgzNDkyIGwgMC4wNzI4LC00LjQ4ODIxIGggNC42MzAyMDggNC42MzAyMDkgdiA0Ljc2MjUgNC43NjI1IGwgLTQuNTY5OTYsMC4wNzI0IGMgLTMuNTc2NDM0LDAuMDU2NyAtNC41OTg4ODUsLTAuMDAzIC00LjcwMzAwNiwtMC4yNzQyOSB6IgogICAgICAgaWQ9InBhdGgxNTkxIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY3NjY3Njc3NjY2Njc2NjY2Nzc2Nzc2NjY2NjY3NjY2NjY3NzY3NjY2NjY2NjY3Njc3Njc2NjY2NzY2NjY2NjY2NjY2NjY3Nzc2NzY2NzY2NjY2NjY3NjY2NjY2NjY2NjY2Nzc2NjY3NjY2NjY2NjYyIgLz4KICAgIDxnCiAgICAgICBpZD0iZzMxNjkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgtMC4wMTQ0MTc5MywwLjAyNDk3MjYsLTAuMDI0OTcyNiwtMC4wMTQ0MTc5MywtODEuNzM0ODg3LDgxLjgyNDQ0NikiPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDI3NCIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItNjg3My42NDc5IgogICAgICAgICB5MT0iMjc3NC4yOTk4IgogICAgICAgICB4Mj0iLTY2MzYuMjM3MyIKICAgICAgICAgeTI9IjI0OTYuNjg5NSIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRjU5NzIzIgogICAgICAgICAgIGlkPSJzdG9wNDI3NiIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMTIzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNGNjk4MjIiCiAgICAgICAgICAgaWQ9InN0b3A0Mjc4IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjgzODMiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0U4NzcyNiIKICAgICAgICAgICBpZD0ic3RvcDQyODAiIC8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gNzM2LjEsOC4xIGMgLTI3LjEsMTYgLTcyLjIsNjEuMyAtMTI1LjgsMTI3IGwgNDkuMyw5My4yIEMgNjk0LjMsMTc4LjggNzI5LjUsMTM0LjEgNzY1LDk2IGMgMi44LC0zIDQuMSwtNC40IDQuMSwtNC40IC0xLjMsMS40IC0yLjgsMyAtNC4xLDQuNCAtMTEuNSwxMi42IC00Ni40LDUzLjQgLTk5LDEzNC4yIDUwLjcsLTIuNSAxMjguNSwtMTIuOSAxOTIsLTIzLjcgMTksLTEwNS45IC0xOC41LC0xNTQuMyAtMTguNSwtMTU0LjMgMCwwIC00Ny42LC03NyAtMTAzLjQsLTQ0LjEgeiIKICAgICAgICAgaWQ9InBhdGgzMTc4IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzFfLTcpIiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDY1Mi41LDUzOS45IGMgMC4zLC0wLjEgMC43LC0wLjEgMS4xLC0wLjIgbCAtNy4xLDAuOCBjIC0wLjQsMC4yIC0wLjgsMC40IC0xLjIsMC42IDIuMywtMC41IDQuOCwtMC45IDcuMiwtMS4yIHoiCiAgICAgICAgIGlkPSJwYXRoMzE4MCIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6bm9uZSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA2MDIsNzA2LjkgYyAtNCwwLjkgLTguMSwxLjYgLTEyLjMsMi4zIDQuMiwtMC43IDguMywtMS41IDEyLjMsLTIuMyB6IgogICAgICAgICBpZD0icGF0aDMxODIiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJmaWxsOm5vbmUiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMjU5LjQsMTA4MS40IGMgMC41LC0xLjMgMSwtMi44IDEuNSwtNC4xIDEwLjksLTI4LjcgMjEuNywtNTYuNiAzMi4zLC04My44IDExLjksLTMwLjUgMjMuNywtNjAgMzUuNSwtODguNiAxMi4zLC0zMC4xIDI0LjUsLTU5LjMgMzYuNCwtODcuNSAxMi41LC0yOS41IDI0LjksLTU4IDM3LjEsLTg1LjQgOS45LC0yMi4zIDE5LjYsLTQzLjkgMjkuMiwtNjQuOCAzLjIsLTcgNi40LC0xMy45IDkuNiwtMjAuNyA2LjMsLTEzLjYgMTIuNSwtMjYuOCAxOC43LC0zOS44IDUuNywtMTEuOSAxMS4zLC0yMy42IDE3LC0zNS4yIDEuOSwtMy44IDMuNywtNy42IDUuNiwtMTEuNCAwLjMsLTAuNiAwLjYsLTEuMiAwLjksLTEuOSBsIC02LjEsMC42IC00LjgsLTkuNSBjIC0wLjUsMC45IC0wLjksMS45IC0xLjQsMi44IC04LjYsMTcuMyAtMTcuMywzNC42IC0yNS44LDUyLjEgLTQuOSwxMC4yIC05LjgsMjAuNCAtMTQuNywzMC41IC0xMy41LDI4LjMgLTI2LjcsNTcgLTM5LjgsODUuNiAtMTMuMiwyOS4xIC0yNi4xLDU4LjMgLTM4LjksODcuNiAtMTIuNCwyOC44IC0yNC43LDU3LjYgLTM2LjYsODYuMyAtMTEuOSwyOC43IC0yMy42LDU3LjMgLTM1LDg1LjYgLTExLjksMjkuNiAtMjMuNCw1OSAtMzQuNiw4OCAtMi42LDYuNiAtNSwxMy4xIC03LjYsMTkuNiAtOSwyMy40IC0xNy44LDQ2LjYgLTI2LjMsNjkuNCBsIDcuNiwxNSA2LjgsLTAuNyBjIDAuMiwtMC43IDAuNSwtMS4zIDAuNywtMi4xIDExLjEsLTI5LjggMjIsLTU5LjEgMzIuNywtODcuNiB6IgogICAgICAgICBpZD0icGF0aDMxODQiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJmaWxsOm5vbmUiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gNTg2LjYsNzA5LjYgWiIKICAgICAgICAgaWQ9InBhdGgzMTg2IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDpub25lIiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDU3MC4yLDc5MSBjIC02LjMsMS4xIC0xMi43LDIuMyAtMTkuNCwzLjQgMCwwIC0wLjEsMCAtMC4xLDAuMSAzLjQsLTAuNSA2LjcsLTEgMTAsLTEuNSAzLjEsLTAuNyA2LjMsLTEuMyA5LjUsLTIgeiIKICAgICAgICAgaWQ9InBhdGgzMTg4IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDojYmQyMDJlIiAvPgogICAgICA8cGF0aAogICAgICAgICBlbmFibGUtYmFja2dyb3VuZD0ibmV3ICAgICIKICAgICAgICAgZD0ibSA1NzAuMiw3OTEgYyAtNi4zLDEuMSAtMTIuNywyLjMgLTE5LjQsMy40IDAsMCAtMC4xLDAgLTAuMSwwLjEgMy40LC0wLjUgNi43LC0xIDEwLC0xLjUgMy4xLC0wLjcgNi4zLC0xLjMgOS41LC0yIHoiCiAgICAgICAgIGlkPSJwYXRoMzE5MCIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9Im9wYWNpdHk6MC4zNTtmaWxsOiNiZDIwMmUiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gNTg2LjcsNzA5LjUgYyAwLDAgMCwwLjEgMCwwIC0wLjEsMCAtMC4xLDAgLTAuMSwwLjEgMSwtMC4xIDIuMSwtMC4zIDMuMSwtMC41IDQuMiwtMC42IDguMywtMS4zIDEyLjMsLTIuMyAtNSwwLjkgLTEwLDEuOCAtMTUuMywyLjcgeiIKICAgICAgICAgaWQ9InBhdGgzMTkyIgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDojYmQyMDJlIiAvPgogICAgICA8cGF0aAogICAgICAgICBlbmFibGUtYmFja2dyb3VuZD0ibmV3ICAgICIKICAgICAgICAgZD0ibSA1ODYuNyw3MDkuNSBjIDAsMCAwLDAuMSAwLDAgLTAuMSwwIC0wLjEsMCAtMC4xLDAuMSAxLC0wLjEgMi4xLC0wLjMgMy4xLC0wLjUgNC4yLC0wLjYgOC4zLC0xLjMgMTIuMywtMi4zIC01LDAuOSAtMTAsMS44IC0xNS4zLDIuNyB6IgogICAgICAgICBpZD0icGF0aDMxOTQiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJvcGFjaXR5OjAuMzU7ZmlsbDojYmQyMDJlIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDI5MSIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItODYzMC43MTk3IgogICAgICAgICB5MT0iMjgwNC45NjA3IgogICAgICAgICB4Mj0iLTY5MzYuOTI1MyIKICAgICAgICAgeTI9IjI4MDQuOTYwNyIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgICAgaWQ9InN0b3A0MjkzIiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgICBpZD0ic3RvcDQyOTUiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICAgIGlkPSJzdG9wNDI5NyIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICAgIGlkPSJzdG9wNDI5OSIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1MTQsNDY5LjIgYyAxNSwtMjguMSAzMC4yLC01NS41IDQ1LjUsLTgyLjEgMTUuOSwtMjcuOCAzMi4xLC01NC42IDQ4LjQsLTgwLjYgMC45LC0xLjUgMiwtMy4xIDIuOSwtNC42IDE2LjEsLTI1LjUgMzIuNCwtNTAuMSA0OC43LC03My41IGwgLTQ5LjMsLTkzLjIgYyAtMy43LDQuNSAtNy40LDkuMSAtMTEuMiwxMy45IC0xNC4zLDE3LjggLTI5LDM2LjggLTQ0LjIsNTcuMSAtMTcuMSwyMi44IC0zNC42LDQ3LjIgLTUyLjUsNzIuOCAtMTYuNCwyMy42IC0zMy4yLDQ4LjMgLTUwLDc0IC0xNC4zLDIxLjggLTI4LjUsNDQuMiAtNDIuNyw2Ny4yIC0wLjUsMC44IC0xLDEuNyAtMS41LDIuNiBsIDY0LjMsMTI3IEMgNDg2LDUyMi4zIDUwMCw0OTUuNCA1MTQsNDY5LjIgWiIKICAgICAgICAgaWQ9InBhdGgzMjA1IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzJfLTYpIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDMwMiIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItODQyNi4yNTU5IgogICAgICAgICB5MT0iMjYzNS4yODM5IgogICAgICAgICB4Mj0iLTc0MTYuOTE5NCIKICAgICAgICAgeTI9IjI2MzUuMjgzOSIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMjgyNjYxIgogICAgICAgICAgIGlkPSJzdG9wNDMwNCIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iOS41NDgzODllLTAyIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM2NjJFOEMiCiAgICAgICAgICAgaWQ9InN0b3A0MzA2IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjc4ODIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlFMjA2NCIKICAgICAgICAgICBpZD0ic3RvcDQzMDgiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuOTQ4NyIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMDMyIgogICAgICAgICAgIGlkPSJzdG9wNDMxMCIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSAyMjEuMiwxMTg0LjQgYyAtOC41LDIzLjMgLTE3LjEsNDcuMiAtMjUuNiw3MS41IC0wLjEsMC4zIC0wLjIsMC43IC0wLjQsMSAtMS4yLDMuNCAtMi41LDYuOSAtMy42LDEwLjMgLTUuOCwxNi40IC0xMC44LDMxLjIgLTIyLjMsNjQuNyAxOC45LDguNiAzNC4xLDMxLjQgNDguNSw1Ny4yIC0xLjUsLTI2LjcgLTEyLjUsLTUxLjggLTMzLjYsLTcxLjIgOTMuMyw0LjIgMTczLjcsLTE5LjQgMjE1LjMsLTg3LjYgMy43LC02LjEgNy4xLC0xMi40IDEwLjIsLTE5LjMgLTE4LjksMjQgLTQyLjQsMzQuMSAtODYuNSwzMS43IC0wLjEsMCAtMC4yLDAuMSAtMC4zLDAuMSAwLjEsMCAwLjIsLTAuMSAwLjMsLTAuMSA2NSwtMjkuMSA5Ny41LC01NyAxMjYuNCwtMTAzLjIgNi44LC0xMSAxMy41LC0yMi45IDIwLjMsLTM2LjIgLTU2LjgsNTguMyAtMTIyLjUsNzQuOSAtMTkxLjgsNjIuMyBsIC01Miw1LjcgYyAtMS43LDQuNCAtMy4yLDguNyAtNC45LDEzLjEgeiIKICAgICAgICAgaWQ9InBhdGgzMjE2IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzNfLTcpIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDMxMyIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItODUzNS41ODc5IgogICAgICAgICB5MT0iMjgyMC44NjA0IgogICAgICAgICB4Mj0iLTY4NDEuNzkzIgogICAgICAgICB5Mj0iMjgyMC44NjA0IgogICAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgICBpZD0ic3RvcDQzMTUiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICAgIGlkPSJzdG9wNDMxNyIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgICAgaWQ9InN0b3A0MzE5IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgICAgaWQ9InN0b3A0MzIxIiAvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDI0NS41LDEwNjguMSBjIDExLjIsLTI5IDIyLjgsLTU4LjQgMzQuNiwtODggMTEuNCwtMjguNCAyMywtNTcgMzUsLTg1LjYgMTIsLTI4LjYgMjQuMiwtNTcuNSAzNi42LC04Ni4zIDEyLjYsLTI5LjMgMjUuNiwtNTguNSAzOC45LC04Ny42IDEzLjEsLTI4LjggMjYuMywtNTcuNCAzOS44LC04NS42IDQuOCwtMTAuMiA5LjgsLTIwLjQgMTQuNywtMzAuNSA4LjUsLTE3LjUgMTcuMSwtMzQuOSAyNS44LC01Mi4xIDAuNSwtMC45IDAuOSwtMS45IDEuNCwtMi44IEwgNDA4LDQyMi42IGMgLTEsMS43IC0yLjEsMy41IC0zLjIsNS4xIC0xNSwyNC41IC0yOS45LDQ5LjUgLTQ0LjUsNzUgLTE0LjgsMjUuOCAtMjkuMyw1Mi4xIC00My41LDc4LjggLTExLjksMjIuNSAtMjMuNiw0NS4xIC0zNS4xLDY4LjEgLTIuMyw0LjYgLTQuNSw5LjMgLTYuOCwxMy45IC0xNCwyOC45IC0yNi42LDU2LjYgLTM4LjEsODMuNSAtMTMsMzAuMyAtMjQuNCw1OS4zIC0zNC4zLDg2LjggLTYuNiwxOC4xIC0xMi41LDM1LjUgLTE4LDUyLjMgLTQuNSwxNC4zIC04LjcsMjguNyAtMTIuOSw0MyAtOS42LDMzLjYgLTE3LjksNjcuMiAtMjQuNywxMDAuNiBsIDY0LjYsMTI3LjUgYyA4LjUsLTIyLjggMTcuMywtNDYgMjYuMywtNjkuNCAyLjcsLTYuNyA1LjEsLTEzLjMgNy43LC0xOS43IHoiCiAgICAgICAgIGlkPSJwYXRoMzIyNyIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF80Xy0wKSIgLz4KICAgICAgPGxpbmVhckdyYWRpZW50CiAgICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQzMjQiCiAgICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgICB4MT0iLTg0MTIuMDU3NiIKICAgICAgICAgeTE9IjI3OTcuODc4OSIKICAgICAgICAgeDI9Ii03NTIxLjkxNzUiCiAgICAgICAgIHkyPSIyNzk3Ljg3ODkiCiAgICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC40MzQ1LC0wLjkzMTgsLTAuOTMxOCwtMC40MzQ1LDYyMjMuNDc2MSwtNTA1Mi43NDI3KSI+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzI4MjY2MSIKICAgICAgICAgICBpZD0ic3RvcDQzMjYiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjkuNTQ4Mzg5ZS0wMiIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojNjYyRThDIgogICAgICAgICAgIGlkPSJzdG9wNDMyOCIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC43ODgyIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5RTIwNjQiCiAgICAgICAgICAgaWQ9InN0b3A0MzMwIiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjk0ODciCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0NDMjAzMiIKICAgICAgICAgICBpZD0ic3RvcDQzMzIiIC8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTQ2LjIsMTAzNCBjIC04LjEsNDAuOCAtMTMuOSw4MS40IC0xNi44LDEyMS44IC0wLjEsMS40IC0wLjIsMi44IC0wLjMsNC4yIC0yMC4yLC0zMi4zIC03NC4xLC02My44IC03NCwtNjMuNSAzOC43LDU2IDY4LDExMS42IDcyLjMsMTY2LjIgLTIwLjcsNC4yIC00OSwtMS45IC04MS43LC0xMy45IDM0LjEsMzEuNCA1OS43LDQwIDY5LjgsNDIuNCAtMzEuNCwyIC02NCwyMy41IC05Ni45LDQ4LjMgNDguMSwtMTkuNiA4NywtMjcuNCAxMTQuOCwtMjEuMSAtNDQuMiwxMjUgLTg4LjQsMjYzIC0xMzIuNyw0MDkuNiAxMy42LC00IDIxLjcsLTEzLjIgMjYuMiwtMjUuNSA3LjksLTI2LjUgNjAuMiwtMjAwLjcgMTQyLjMsLTQyOS40IDIuNCwtNi41IDQuNywtMTMuMSA3LjEsLTE5LjYgMC42LC0xLjkgMS4zLC0zLjcgMiwtNS40IDguNiwtMjQgMTcuNywtNDguNSAyNi45LC03My41IDIuMSwtNS43IDQuMiwtMTEuNCA2LjQsLTE3LjEgMCwtMC4xIDAuMSwtMC4yIDAuMSwtMC4zIEwgMTQ3LDEwMjkuNyBjIC0wLjIsMS4zIC0wLjUsMi44IC0wLjgsNC4zIHoiCiAgICAgICAgIGlkPSJwYXRoMzIzOCIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF81Xy04KSIgLz4KICAgICAgPGxpbmVhckdyYWRpZW50CiAgICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQzMzUiCiAgICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgICB4MT0iLTg1MzUuNTg3OSIKICAgICAgICAgeTE9IjI2NDUuNDg5NyIKICAgICAgICAgeDI9Ii02ODQxLjc5MyIKICAgICAgICAgeTI9IjI2NDUuNDg5NyIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgICAgaWQ9InN0b3A0MzM3IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgICBpZD0ic3RvcDQzMzkiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICAgIGlkPSJzdG9wNDM0MSIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICAgIGlkPSJzdG9wNDM0MyIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA0ODIuMyw1NjAuMiBjIC0xLjksMy44IC0zLjcsNy42IC01LjYsMTEuNCAtNS42LDExLjUgLTExLjIsMjMuMiAtMTcsMzUuMiAtNi4yLDEzIC0xMi40LDI2LjIgLTE4LjcsMzkuOCAtMy4yLDYuOCAtNi40LDEzLjcgLTkuNiwyMC43IC05LjYsMjAuOSAtMTkuMyw0Mi41IC0yOS4yLDY0LjggLTEyLjEsMjcuMyAtMjQuNiw1NS44IC0zNy4xLDg1LjQgLTExLjksMjguMiAtMjQuMiw1Ny4zIC0zNi40LDg3LjUgLTExLjcsMjguNiAtMjMuNSw1OC4yIC0zNS41LDg4LjYgLTEwLjcsMjcuMSAtMjEuNSw1NS4xIC0zMi4zLDgzLjggLTAuNSwxLjMgLTEsMi44IC0xLjUsNC4xIC0xMC44LDI4LjUgLTIxLjcsNTcuOCAtMzIuNiw4Ny44IC0wLjIsMC43IC0wLjUsMS4zIC0wLjcsMi4xIGwgNTIsLTUuNyBjIC0xLC0wLjIgLTIuMSwtMC4zIC0zLjEsLTAuNSA2Mi4xLC03LjcgMTQ0LjgsLTU0LjIgMTk4LjEsLTExMS41IDI0LjYsLTI2LjQgNDYuOSwtNTcuNiA2Ny41LC05NC4xIDE1LjMsLTI3LjEgMjkuOCwtNTcuMyA0My42LC05MC42IDEyLC0yOS4xIDIzLjUsLTYwLjcgMzQuNiwtOTQuOCAtMTQuMyw3LjUgLTMwLjYsMTMuMSAtNDguNiwxNi45IC0zLjIsMC43IC02LjQsMS4zIC05LjcsMS45IC0zLjMsMC42IC02LjYsMS4xIC0xMCwxLjUgdiAwIDAgYyAwLDAgMC4xLDAgMC4xLC0wLjEgNTgsLTIyLjMgOTQuNSwtNjUuMyAxMjEsLTExOCAtMTUuMiwxMC40IC00MCwyNCAtNjkuNywzMC41IC00LDAuOSAtOC4xLDEuNiAtMTIuMywyLjMgLTEsMC4xIC0yLjEsMC4zIC0zLjEsMC41IHYgMCAwIGggMC4xIGMgMCwwIDAsMCAwLjEsMCB2IDAgYyAyMC4yLC04LjQgMzcuMSwtMTcuOSA1MS44LC0yOSAzLjIsLTIuNCA2LjMsLTQuOCA5LjEsLTcuNCA0LjUsLTMuOSA4LjcsLTggMTIuOSwtMTIuMiAyLjYsLTIuOCA1LjEsLTUuNiA3LjYsLTguNSA1LjgsLTYuOSAxMS4yLC0xNC4zIDE2LjIsLTIyLjMgMS41LC0yLjUgMy4xLC00LjkgNC41LC03LjUgMiwtMy43IDMuOCwtNy40IDUuNiwtMTAuOSA4LjEsLTE2LjIgMTQuNiwtMzAuOCAxOS43LC00My41IDIuNiwtNi40IDQuOCwtMTIuMiA2LjgsLTE3LjggMC44LC0yLjIgMS41LC00LjMgMi4yLC02LjQgMi4xLC02LjEgMy43LC0xMS41IDUsLTE2LjMgMiwtNy4yIDMuMiwtMTIuOSAzLjgsLTE3IHYgMCAwIGMgLTIsMS41IC00LjIsMy4xIC02LjgsNC42IC0xNy41LDEwLjUgLTQ3LjUsMTkuOSAtNzEuNywyNC40IGwgNDcuNywtNS4yIC00Ny43LDUuMiBjIC0wLjMsMC4xIC0wLjcsMC4xIC0xLjEsMC4yIC0yLjUsMC40IC00LjgsMC44IC03LjMsMS4xIDAuNCwtMC4yIDAuOCwtMC40IDEuMiwtMC42IGwgLTE2My4zLDE3LjkgYyAwLDAuNCAtMC4zLDEuMSAtMC42LDEuNyB6IgogICAgICAgICBpZD0icGF0aDMyNDkiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJmaWxsOnVybCgjU1ZHSURfNl8tMikiIC8+CiAgICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ0MzQ2IgogICAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgICAgeDE9Ii04NjQwLjY1OTIiCiAgICAgICAgIHkxPSIyNjU0LjI2NDkiCiAgICAgICAgIHgyPSItNjk0Ni44NjQ3IgogICAgICAgICB5Mj0iMjY1NC4yNjQ5IgogICAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgICBpZD0ic3RvcDQzNDgiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICAgIGlkPSJzdG9wNDM1MCIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgICAgaWQ9InN0b3A0MzUyIiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgICAgaWQ9InN0b3A0MzU0IiAvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDY2Ni4xLDIzMC4yIGMgLTE0LjUsMjIuMyAtMzAuMyw0Ny42IC00Ny41LDc2LjMgLTAuOSwxLjQgLTEuOSwzLjEgLTIuNyw0LjUgLTE0LjcsMjQuOCAtMzAuMyw1MiAtNDYuOSw4MS45IC0xNC4yLDI1LjggLTI5LDUzLjQgLTQ0LjQsODMuMSAtMTMuNCwyNS45IC0yNy4yLDUzLjQgLTQxLjUsODIuNSBsIDE2My4zLC0xNy45IGMgNDcuNiwtMjEuOSA2OC44LC00MS42IDg5LjQsLTcwLjMgNS40LC03LjkgMTEsLTE2LjEgMTYuNCwtMjQuNyAxNi44LC0yNi4yIDMzLjIsLTU1IDQ3LjksLTgzLjcgMTQuMiwtMjcuNyAyNi43LC01NS4xIDM2LjMsLTc5LjkgNi4xLC0xNS43IDExLC0zMC4zIDE0LjQsLTQzLjIgMywtMTEuMyA1LjMsLTIyLjEgNy4xLC0zMi40IC02My4zLDEwLjkgLTE0MS4yLDIxLjMgLTE5MS44LDIzLjggeiIKICAgICAgICAgaWQ9InBhdGgzMjYwIgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzdfLTIpIiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDU2MC41LDc5Mi44IGMgLTMuMywwLjYgLTYuNiwxLjEgLTEwLDEuNSB2IDAgYyAzLjQsLTAuMyA2LjgsLTAuOSAxMCwtMS41IHoiCiAgICAgICAgIGlkPSJwYXRoMzI2MiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6I2JkMjAyZSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAgICAiCiAgICAgICAgIGQ9Im0gNTYwLjUsNzkyLjggYyAtMy4zLDAuNiAtNi42LDEuMSAtMTAsMS41IHYgMCBjIDMuNCwtMC4zIDYuOCwtMC45IDEwLC0xLjUgeiIKICAgICAgICAgaWQ9InBhdGgzMjY0IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0ib3BhY2l0eTowLjM1O2ZpbGw6I2JkMjAyZSIgLz4KICAgICAgPGxpbmVhckdyYWRpZW50CiAgICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQzNTkiCiAgICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgICB4MT0iLTg1MzUuNTg4OSIKICAgICAgICAgeTE9IjI1OTMuNDQ2IgogICAgICAgICB4Mj0iLTY4NDEuNzkyNSIKICAgICAgICAgeTI9IjI1OTMuNDQ2IgogICAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgICBpZD0ic3RvcDQzNjEiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICAgIGlkPSJzdG9wNDM2MyIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgICAgaWQ9InN0b3A0MzY1IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgICAgaWQ9InN0b3A0MzY3IiAvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDU2MC41LDc5Mi44IGMgLTMuMywwLjYgLTYuNiwxLjEgLTEwLDEuNSB2IDAgYyAzLjQsLTAuMyA2LjgsLTAuOSAxMCwtMS41IHoiCiAgICAgICAgIGlkPSJwYXRoMzI3NSIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF84Xy0zKSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1ODYuNiw3MDkuNiBjIDEsLTAuMSAyLjEsLTAuMyAzLjEsLTAuNSAtMSwwLjEgLTIsMC40IC0zLjEsMC41IHoiCiAgICAgICAgIGlkPSJwYXRoMzI3NyIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6I2JkMjAyZSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAgICAiCiAgICAgICAgIGQ9Im0gNTg2LjYsNzA5LjYgYyAxLC0wLjEgMi4xLC0wLjMgMy4xLC0wLjUgLTEsMC4xIC0yLDAuNCAtMy4xLDAuNSB6IgogICAgICAgICBpZD0icGF0aDMyNzkiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJvcGFjaXR5OjAuMzU7ZmlsbDojYmQyMDJlIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDM3MiIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItODUzNS41ODg5IgogICAgICAgICB5MT0iMjU5OS4zMjQyIgogICAgICAgICB4Mj0iLTY4NDEuNzkyNSIKICAgICAgICAgeTI9IjI1OTkuMzI0MiIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgICAgaWQ9InN0b3A0Mzc0IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgICBpZD0ic3RvcDQzNzYiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICAgIGlkPSJzdG9wNDM3OCIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICAgIGlkPSJzdG9wNDM4MCIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1ODYuNiw3MDkuNiBjIDEsLTAuMSAyLjEsLTAuMyAzLjEsLTAuNSAtMSwwLjEgLTIsMC40IC0zLjEsMC41IHoiCiAgICAgICAgIGlkPSJwYXRoMzI5MCIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF85Xy0zKSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1ODYuNiw3MDkuNiBjIDAuMSwwIDAuMSwtMC4xIDAsMCB2IDAgMCAwIGMgMC4xLC0wLjEgMC4xLDAgMCwwIHoiCiAgICAgICAgIGlkPSJwYXRoMzI5MiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6I2JkMjAyZSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAgICAiCiAgICAgICAgIGQ9Im0gNTg2LjYsNzA5LjYgYyAwLjEsMCAwLjEsLTAuMSAwLDAgdiAwIDAgMCBjIDAuMSwtMC4xIDAuMSwwIDAsMCB6IgogICAgICAgICBpZD0icGF0aDMyOTQiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJvcGFjaXR5OjAuMzU7ZmlsbDojYmQyMDJlIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDM4NSIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItNzU4NC4wMzg2IgogICAgICAgICB5MT0iMjYwMC41NTE1IgogICAgICAgICB4Mj0iLTcyMDkuNjU0MyIKICAgICAgICAgeTI9IjI2MDAuNTUxNSIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgICAgaWQ9InN0b3A0Mzg3IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgICBpZD0ic3RvcDQzODkiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICAgIGlkPSJzdG9wNDM5MSIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICAgIGlkPSJzdG9wNDM5MyIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1ODYuNiw3MDkuNiBjIDAuMSwwIDAuMSwtMC4xIDAsMCB2IDAgMCAwIGMgMC4xLC0wLjEgMC4xLDAgMCwwIHoiCiAgICAgICAgIGlkPSJwYXRoMzMwNSIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF8xMF8tOCkiIC8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K" camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "JMS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" camel.apache.org/requires.runtime: camel-k spec: definition: title: "JMS - AMQP 1.0 Sink" description: "Send data to any AMQP 1.0 compliant message broker by using the Apache Qpid JMS client." required: - destinationName - remoteURI type: object properties: destinationType: title: "Destination Type" description: "The JMS destination type (queue or topic)." type: string default: queue destinationName: title: "Destination Name" description: "The JMS destination name." type: string remoteURI: title: "Broker URL" description: "The JMS URL." type: string example: "amqp://my-host:31616" dependencies: - "camel:jms" - "camel:amqp" - "camel:kamelet" template: beans: - name: connectionFactoryBean type: "#class:org.apache.qpid.jms.JmsConnectionFactory" properties: remoteURI: '{{remoteURI}}' from: uri: "kamelet:source" steps: - to: uri: "jms:{{destinationType}}:{{destinationName}}" parameters: connectionFactory: "#bean:{{connectionFactoryBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jms-amqp-10-source annotations: camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iMTkzLjgzMzVtbSIKICAgaGVpZ2h0PSI5Ny4yNjgwMTNtbSIKICAgdmlld0JveD0iMCAwIDE5My44MzM1IDk3LjI2ODAxMyIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMTAwMyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC45Mi4zICgyNDA1NTQ2LCAyMDE4LTAzLTExKSIKICAgc29kaXBvZGk6ZG9jbmFtZT0icXBpZC5zdmciPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM5OTciPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0iU1ZHSURfMV8tNyIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgeDE9Ii02ODczLjY0NzkiCiAgICAgICB5MT0iMjc3NC4yOTk4IgogICAgICAgeDI9Ii02NjM2LjIzNzMiCiAgICAgICB5Mj0iMjQ5Ni42ODk1IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRjU5NzIzIgogICAgICAgICBpZD0ic3RvcDMxNzItNSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjMxMjMiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNGNjk4MjIiCiAgICAgICAgIGlkPSJzdG9wMzE3NC0zIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuODM4MyIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0U4NzcyNiIKICAgICAgICAgaWQ9InN0b3AzMTc2LTUiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0iU1ZHSURfMl8tNiIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgeDE9Ii04NjMwLjcxOTciCiAgICAgICB5MT0iMjgwNC45NjA3IgogICAgICAgeDI9Ii02OTM2LjkyNTMiCiAgICAgICB5Mj0iMjgwNC45NjA3IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgIGlkPSJzdG9wMzE5Ny0yIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgaWQ9InN0b3AzMTk5LTkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICBpZD0ic3RvcDMyMDEtMSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICBpZD0ic3RvcDMyMDMtMiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJTVkdJRF8zXy03IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICB4MT0iLTg0MjYuMjU1OSIKICAgICAgIHkxPSIyNjM1LjI4MzkiCiAgICAgICB4Mj0iLTc0MTYuOTE5NCIKICAgICAgIHkyPSIyNjM1LjI4MzkiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMyODI2NjEiCiAgICAgICAgIGlkPSJzdG9wMzIwOC0wIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjkuNTQ4Mzg5ZS0wMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzY2MkU4QyIKICAgICAgICAgaWQ9InN0b3AzMjEwLTkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43ODgyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojOUUyMDY0IgogICAgICAgICBpZD0ic3RvcDMyMTItMyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjk0ODciCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIwMzIiCiAgICAgICAgIGlkPSJzdG9wMzIxNC02IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9IlNWR0lEXzRfLTAiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItODUzNS41ODc5IgogICAgICAgeTE9IjI4MjAuODYwNCIKICAgICAgIHgyPSItNjg0MS43OTMiCiAgICAgICB5Mj0iMjgyMC44NjA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgIGlkPSJzdG9wMzIxOS02IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgaWQ9InN0b3AzMjIxLTIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICBpZD0ic3RvcDMyMjMtNiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICBpZD0ic3RvcDMyMjUtMSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJTVkdJRF81Xy04IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICB4MT0iLTg0MTIuMDU3NiIKICAgICAgIHkxPSIyNzk3Ljg3ODkiCiAgICAgICB4Mj0iLTc1MjEuOTE3NSIKICAgICAgIHkyPSIyNzk3Ljg3ODkiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMyODI2NjEiCiAgICAgICAgIGlkPSJzdG9wMzIzMC03IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjkuNTQ4Mzg5ZS0wMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzY2MkU4QyIKICAgICAgICAgaWQ9InN0b3AzMjMyLTkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43ODgyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojOUUyMDY0IgogICAgICAgICBpZD0ic3RvcDMyMzQtMiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjk0ODciCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIwMzIiCiAgICAgICAgIGlkPSJzdG9wMzIzNi0wIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9IlNWR0lEXzZfLTIiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItODUzNS41ODc5IgogICAgICAgeTE9IjI2NDUuNDg5NyIKICAgICAgIHgyPSItNjg0MS43OTMiCiAgICAgICB5Mj0iMjY0NS40ODk3IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgIGlkPSJzdG9wMzI0MS0zIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgaWQ9InN0b3AzMjQzLTciIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICBpZD0ic3RvcDMyNDUtNSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICBpZD0ic3RvcDMyNDctOSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJTVkdJRF83Xy0yIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICB4MT0iLTg2NDAuNjU5MiIKICAgICAgIHkxPSIyNjU0LjI2NDkiCiAgICAgICB4Mj0iLTY5NDYuODY0NyIKICAgICAgIHkyPSIyNjU0LjI2NDkiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuMzIzMyIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgaWQ9InN0b3AzMjUyLTIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC42MzAyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICBpZD0ic3RvcDMyNTQtOCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjc1MTQiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgIGlkPSJzdG9wMzI1Ni05IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgIGlkPSJzdG9wMzI1OC03IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9IlNWR0lEXzhfLTMiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItODUzNS41ODg5IgogICAgICAgeTE9IjI1OTMuNDQ2IgogICAgICAgeDI9Ii02ODQxLjc5MjUiCiAgICAgICB5Mj0iMjU5My40NDYiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuMzIzMyIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgaWQ9InN0b3AzMjY3LTYiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC42MzAyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICBpZD0ic3RvcDMyNjktMSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjc1MTQiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgIGlkPSJzdG9wMzI3MS0yIiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgIGlkPSJzdG9wMzI3My05IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9IlNWR0lEXzlfLTMiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItODUzNS41ODg5IgogICAgICAgeTE9IjI1OTkuMzI0MiIKICAgICAgIHgyPSItNjg0MS43OTI1IgogICAgICAgeTI9IjI1OTkuMzI0MiIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC40MzQ1LC0wLjkzMTgsLTAuOTMxOCwtMC40MzQ1LDYyMjMuNDc2MSwtNTA1Mi43NDI3KSI+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojOUMyMDYzIgogICAgICAgICBpZD0ic3RvcDMyODItMSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDODIwMzciCiAgICAgICAgIGlkPSJzdG9wMzI4NC05IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0NDMjEzNSIKICAgICAgICAgaWQ9InN0b3AzMjg2LTQiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0U4NzcyNiIKICAgICAgICAgaWQ9InN0b3AzMjg4LTciIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0iU1ZHSURfMTBfLTgiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIHgxPSItNzU4NC4wMzg2IgogICAgICAgeTE9IjI2MDAuNTUxNSIKICAgICAgIHgyPSItNzIwOS42NTQzIgogICAgICAgeTI9IjI2MDAuNTUxNSIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC40MzQ1LC0wLjkzMTgsLTAuOTMxOCwtMC40MzQ1LDYyMjMuNDc2MSwtNTA1Mi43NDI3KSI+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojOUMyMDYzIgogICAgICAgICBpZD0ic3RvcDMyOTctNCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDODIwMzciCiAgICAgICAgIGlkPSJzdG9wMzI5OS01IiAvPgogICAgICA8c3RvcAogICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0NDMjEzNSIKICAgICAgICAgaWQ9InN0b3AzMzAxLTAiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0U4NzcyNiIKICAgICAgICAgaWQ9InN0b3AzMzAzLTMiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogIDwvZGVmcz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9ImJhc2UiCiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEuMCIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6em9vbT0iMS40IgogICAgIGlua3NjYXBlOmN4PSIxNzkuMjM0NjYiCiAgICAgaW5rc2NhcGU6Y3k9IjIwNy4wNzAyOSIKICAgICBpbmtzY2FwZTpkb2N1bWVudC11bml0cz0ibW0iCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXIxIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBmaXQtbWFyZ2luLXRvcD0iMCIKICAgICBmaXQtbWFyZ2luLWxlZnQ9IjAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMCIKICAgICBmaXQtbWFyZ2luLWJvdHRvbT0iMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjM3MjYiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iMjA0OSIKICAgICBpbmtzY2FwZTp3aW5kb3cteD0iMTE0IgogICAgIGlua3NjYXBlOndpbmRvdy15PSI1NSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIxIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTEwMDAiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPjwvZGM6dGl0bGU+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2Ny4yNDA5NiwtMTUuNjM4MzgzKSI+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6IzJkMmQyZDtzdHJva2Utd2lkdGg6MC4yNjQ1ODMzMiIKICAgICAgIGQ9Im0gLTg0LjA4NzA2MSwxMTIuNzgyMzQgYyAtMC4xMDA0OCwtMC4xMDA0OCAtMC4xODI3LC0xNi40NjE2NzYgLTAuMTgyNywtMzYuMzU4MjA2IDAsLTMyLjc0MzI2IDAuMDM5NywtMzYuMTkwNzUgMC40MTg1MiwtMzYuMzM2MTEgMC41NDUxMywtMC4yMDkxOSA3LjYxMzY2NCwtMC4yMDkxOSA4LjE1ODgwNCwwIDAuMzA5MjUsMC4xMTg2NyAwLjQxODUxLDAuNTI5MDUgMC40MTg1MSwxLjU3MTg4IDAsMS42MjU5NyAwLjMyODE5LDEuOTgxMiAxLjE0NDA3LDEuMjM4MzUgNC4yOTMxNywtMy45MDg5MSAxNC40OTI5NSwtNS4wMDQyNiAyMS4yMTEzNSwtMi4yNzc4OSA4LjcxOTYzLDMuNTM4NDggMTMuOTM5NTgsMTMuNjQ1NjQgMTMuMjY0MzI5LDI1LjY4MzExIC0wLjUxNjQ0LDkuMjA2NCAtNC40MzQzOTksMTcuMDUzMjEgLTEwLjk3NTk2OSwyMS45ODI0MiAtNC4xNTM0MiwzLjEyOTcgLTcuMjM5ODUsNC4xNDUyIC0xMi42MDUyMyw0LjE0NzM3IC00LjczMjE0LDAuMDAyIC03Ljg3MjIxLC0wLjcyNDExIC0xMC4zMjE5OSwtMi4zODY1OCAtMC41MzI5NSwtMC4zNjE2NiAtMS4xMDc0MywtMC42ODM4OCAtMS4yNzY2MywtMC43MTYwMiAtMC4yMjg0NiwtMC4wNDM0IC0wLjM0MTY4LDIuOTcxNiAtMC40Mzk5MywxMS43MTU1MDYgbCAtMC4xMzIyOSwxMS43NzM5NiAtNC4yNDkwNywwLjA3MjUgYyAtMi4zMzY5OSwwLjAzOTkgLTQuMzMxMjg0LC0wLjAxIC00LjQzMTc3NCwtMC4xMTAyNSB6IG0gMjEuOTEwMDE0LC0yOC4yNzU1MTYgYyAzLjAwMDEyLC0wLjYzMjY4IDUuMDAyOTYsLTEuNzcwODggNy40NDg4NSwtNC4yMzMxMyAyLjQzODMsLTIuNDU0NjEgMy44ODUyOCwtNS4wNDA3MiA0Ljg5MTgzLC04Ljc0Mjg0IDAuNzc1NjYsLTIuODUyOTIgMC44NDA1MiwtOS4yNjc1MiAwLjEyNTU5LC0xMi40MjExNCAtMS43MTAyLC03LjU0Mzg3IC02LjE2MTIsLTExLjQzNDcxIC0xNC4wOTQ0NCwtMTIuMzIwNjMgLTEuOTg0NTYsLTAuMjIxNjIgLTIuNzQ3NjksLTAuMTk0OSAtNC4yMjYwMiwwLjE0Nzk1IC0yLjQ0NzA5LDAuNTY3NTEgLTUuNDEzMywyLjAzNzc0IC02LjQxNjYsMy4xODA0NSBsIC0wLjgyNjA5LDAuOTQwODUgdiAxNC4yMzg2IDE0LjIzODU5IGwgMC43NTk4NywxLjA0ODk2IGMgMi41NzUwNCwzLjU1NDc2IDcuMTYzMDksNS4wMTM0NCAxMi4zMzcwMSwzLjkyMjM0IHogbSAtNDUuMjA3ODQzLDEuMjAyNDggYyAtNS4wNzA5NiwzLjI1ODIyIC0xMC42NTgzNSw1LjI5NzI2IC0xNi43MDQ2Niw2LjA5NjE2IC0zLjIwMzQyLDAuNDIzMjYgLTkuMzE3MzMsMC4xNjIyNyAtMTIuNjIwMzYsLTAuNTM4NzYgLTE1LjA2MTMsLTMuMTk2NTUgLTI2LjUyMTAzLC0xNC42MzM4MyAtMjkuOTEwMDksLTI5Ljg1MTUgLTAuODI3OTQsLTMuNzE3NjggLTAuODI3OTQsLTExLjQ3NjYzIDAsLTE1LjE5NDMxIDMuNjY3MjksLTE2LjQ2NzAxMyAxNi43MTM3NSwtMjguMzM2OTczIDMzLjQwMjMyLC0zMC4zOTAxODMgMy4wNzYyMywtMC4zNzg0NyA4LjgyNTg2LC0wLjE3Njg5IDExLjg3OCwwLjQxNjQ0IDE1LjM0OTc2LDIuOTgzOTYgMjcuMDg2OTc5LDE0LjUxMTgxIDMwLjUxODEwOSwyOS45NzM3NDMgMC43NzAzNywzLjQ3MTU1IDAuODMzMDEsMTEuMTY5OTcgMC4xMTk2LDE0LjY5ODM4IC0xLjM1MTk2LDYuNjg2NTcgLTQuNzU0MzMsMTMuNTI1NTEgLTguOTg3ODYsMTguMDY2MDYgMCwwIC0xLjA4Mzk3OSwyLjU4MDI5NSAtNy42OTUwNTksNi43MjM5NyB6IG0gLTE0Ljc2NTA0LC0yLjg5NzMgYyAzLjY1MTk2LC0wLjc5OTc1IDguMzYwMTksLTIuNzU5NyA4LjY4OTIzLC0zLjYxNzE2IGwgNS44MDUzLC01Ljg0NDEyIDEuMjkyOTIsMC40MzY5NSAwLjc2LC0wLjg1NjcgYyAxLjU4MzQxLC0xLjc4NDg5IDMuOTE5MjIsLTUuNzE3NDcgNC45MDkxNCwtOC4yNjUwNSAxLjQ4OTY1OSwtMy44MzM2MyAxLjk3NTc5OSwtNi40NzAxOSAxLjk3NTc5OSwtMTAuNzE1NjIgMCwtNC4yNDU0NCAtMC40ODYxNCwtNi44ODIgLTEuOTc1Nzk5LC0xMC43MTU2MyAtMy41ODY5MywtOS4yMzA5ODMgLTExLjg5MTIyLC0xNi4xNDc3MTMgLTIxLjk0MTAxLC0xOC4yNzQ4ODMgLTMuMDY4NzksLTAuNjQ5NTUgLTguODM3NDcsLTAuNjQ5NTUgLTExLjkwNjI1LDAgLTExLjg0NzQ4LDIuNTA3NjggLTIwLjk5NDMxLDExLjU0Nzg4MyAtMjMuNDQyOTcsMjMuMTY5NjczIC0wLjY0MjY1LDMuMDUwMTYgLTAuNjQyNjUsOC41OTE1MSAwLDExLjY0MTY3IDIuNjc0MjQsMTIuNjkyNDggMTMuMzU1NjEsMjIuMjI4NTIgMjYuNDg1NjgsMjMuNjQ1NzIgMi4wMzMyOCwwLjIxOTQ2IDcuMDcyNzQsLTAuMTA2NjMgOS4zNDc5NSwtMC42MDQ4OSB6IG0gOTAuNjU4MDUsOC42NDkxNSBjIC0wLjA2OTc5LC0wLjE4NTI3IC0wLjE1NjQwOSwtMTAuMzM4MTEgLTAuMTkyNDg3LC0yMi41NjE4NiBsIC0wLjA2NTYsLTIyLjIyNSAtNS4wMjcwODQsLTAuMTMyMjkgLTUuMDI3MDgzLC0wLjEzMjI5IHYgLTMuOTY4NzUgLTMuOTY4NzUgaCA5LjkyMTg3NSA5LjkyMTg3NSB2IDI2LjU5MDYzIDI2LjU5MDYyIGwgLTQuNzAyMzA3LDAuMDcyMyBjIC0zLjYxNzg0NCwwLjA1NTYgLTQuNzMxNTY4LC0wLjAwNSAtNC44MjkxOTEsLTAuMjY0NTkgeiBtIDMwLjU2NTg3MzM3LC0wLjYwMDM5IEMgLTkuMjU4Mzc1OSw4OS4xODM5MjQgLTE1LjQxNDg5Nyw4Mi42NDg4MDQgLTE3LjM3MjQzMyw3My40MDI5NTQgYyAtMS4wMzIxNjksLTQuODc1MTUgLTAuOTE0NDc5LC0xMS4zNyAwLjI5MTQ3MywtMTYuMDg1MjMgMS44NTkwMjksLTcuMjY4NzMgNy4yNzQyNTMxLC0xNC4zNzY1MSAxMy4yNTIxMDMxLC0xNy4zOTQxMiAzLjEwOTI3ODI3LC0xLjU2OTU2IDUuMDQ1MjI5MywtMS45Nzc4NCA5LjM4NTE0MjMsLTEuOTc5MjYgMi41MDU2OTYsLTcuOWUtNCA0LjUwNTIwMjYsMC4xMzM2NCA1LjQyMzk1NzYsMC4zNjQ3MyAxLjcwNzMwNiwwLjQyOTQzIDQuNjcwNiwxLjcxNzc1IDUuMzM1ODc2LDIuMzE5ODIgMC4yNTU4ODYsMC4yMzE1NyAwLjY0ODI3NywwLjM1MDgxIDAuODcxOTc3LDAuMjY0OTcgMC4zNTc0MDEsLTAuMTM3MTUgMC40MDY3MywtMS41Njk3OSAwLjQwNjczLC0xMS44MTI0NTMgdiAtMTEuNjU2MzcgbCA0LjQzMTc3MSwwLjA3MjYgNC40MzE3NzEsMC4wNzI1IDAuMDY3MDksMzYuMzE0MDYzIDAuMDY3MDgsMzYuMzE0MDYgaCAtNC40OTg4NTQgLTQuNDk4ODU2IHYgLTEuNDM5NTkgYyAwLC0wLjc5MTc4IC0wLjExMzA1OSwtMS41MDk0NyAtMC4yNTEyNDUsLTEuNTk0ODcgLTAuMTM4MTg0LC0wLjA4NTQgLTEuMDIwMTk3LDAuMzcxMTYgLTEuOTYwMDIzLDEuMDE0NiAtMC45Mzk4MjksMC42NDM0MyAtMi4zNzk4OTUsMS40MjA5NyAtMy4yMDAxNDksMS43Mjc4NiAtMy4zOTU5ODk2LDEuMjcwNjEgLTkuMzc1MzY0NiwxLjcwNTk3IC0xMy4xMDk0MTU2MywwLjk1NDUxIHogTSAxMS42MDY5NzUsODMuMDY2NDU0IGMgMi4xODAyMjUsLTAuNzUwMTEgNC41OTM5NSwtMi4xMDAxNiA1LjMzOTk5LC0yLjk4Njc3IGwgMC42NDc4NjEsLTAuNzY5OTQgdiAtMTQuMjI3NTEgLTE0LjIyNzUgbCAtMC43NTk4NjIsLTEuMDQ4OTYgYyAtMC45OTgwNzcsLTEuMzc3OCAtMi41NDM0MjYsLTIuNTgwMzUgLTQuNDE5ODc1LC0zLjQzOTQyIC0yLjAwMTM4LC0wLjkxNjI2IC01LjQ5MTE4MzYsLTEuMTMzODMgLTguMTUxNzQ4NiwtMC41MDgyMiAtOC4yMDkyNzczLDEuOTMwMzQgLTEzLjI1OTA5NDMsMTAuMDQ3MzIgLTEyLjc3MDg1MDMsMjAuNTI3NjIgMC41MjYyMTEsMTEuMjk1MjcgNS45NTEzMjMsMTcuMDkzMDEgMTYuMDcyODk1MywxNy4xNzY4OSAxLjg3MzIyMSwwLjAxNTUgMi45MzIxNDk2LC0wLjExNDQ4IDQuMDQxNTg5NiwtMC40OTYxOSB6IE0gLTMxLjQ5NzkzMSwzMS4zOTExNzEgYyAtMC4wNzMxOCwtMC4xOTA3IC0wLjEwMDI5LC0yLjM2NjQxIC0wLjA2MDI1LC00LjgzNDkyIGwgMC4wNzI4LC00LjQ4ODIxIGggNC42MzAyMDggNC42MzAyMDkgdiA0Ljc2MjUgNC43NjI1IGwgLTQuNTY5OTYsMC4wNzI0IGMgLTMuNTc2NDM0LDAuMDU2NyAtNC41OTg4ODUsLTAuMDAzIC00LjcwMzAwNiwtMC4yNzQyOSB6IgogICAgICAgaWQ9InBhdGgxNTkxIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY3NjY3Njc3NjY2Njc2NjY2Nzc2Nzc2NjY2NjY3NjY2NjY3NzY3NjY2NjY2NjY3Njc3Njc2NjY2NzY2NjY2NjY2NjY2NjY3Nzc2NzY2NzY2NjY2NjY3NjY2NjY2NjY2NjY2Nzc2NjY3NjY2NjY2NjYyIgLz4KICAgIDxnCiAgICAgICBpZD0iZzMxNjkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgtMC4wMTQ0MTc5MywwLjAyNDk3MjYsLTAuMDI0OTcyNiwtMC4wMTQ0MTc5MywtODEuNzM0ODg3LDgxLjgyNDQ0NikiPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDI3NCIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItNjg3My42NDc5IgogICAgICAgICB5MT0iMjc3NC4yOTk4IgogICAgICAgICB4Mj0iLTY2MzYuMjM3MyIKICAgICAgICAgeTI9IjI0OTYuNjg5NSIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRjU5NzIzIgogICAgICAgICAgIGlkPSJzdG9wNDI3NiIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMTIzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNGNjk4MjIiCiAgICAgICAgICAgaWQ9InN0b3A0Mjc4IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjgzODMiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0U4NzcyNiIKICAgICAgICAgICBpZD0ic3RvcDQyODAiIC8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gNzM2LjEsOC4xIGMgLTI3LjEsMTYgLTcyLjIsNjEuMyAtMTI1LjgsMTI3IGwgNDkuMyw5My4yIEMgNjk0LjMsMTc4LjggNzI5LjUsMTM0LjEgNzY1LDk2IGMgMi44LC0zIDQuMSwtNC40IDQuMSwtNC40IC0xLjMsMS40IC0yLjgsMyAtNC4xLDQuNCAtMTEuNSwxMi42IC00Ni40LDUzLjQgLTk5LDEzNC4yIDUwLjcsLTIuNSAxMjguNSwtMTIuOSAxOTIsLTIzLjcgMTksLTEwNS45IC0xOC41LC0xNTQuMyAtMTguNSwtMTU0LjMgMCwwIC00Ny42LC03NyAtMTAzLjQsLTQ0LjEgeiIKICAgICAgICAgaWQ9InBhdGgzMTc4IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzFfLTcpIiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDY1Mi41LDUzOS45IGMgMC4zLC0wLjEgMC43LC0wLjEgMS4xLC0wLjIgbCAtNy4xLDAuOCBjIC0wLjQsMC4yIC0wLjgsMC40IC0xLjIsMC42IDIuMywtMC41IDQuOCwtMC45IDcuMiwtMS4yIHoiCiAgICAgICAgIGlkPSJwYXRoMzE4MCIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6bm9uZSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA2MDIsNzA2LjkgYyAtNCwwLjkgLTguMSwxLjYgLTEyLjMsMi4zIDQuMiwtMC43IDguMywtMS41IDEyLjMsLTIuMyB6IgogICAgICAgICBpZD0icGF0aDMxODIiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJmaWxsOm5vbmUiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMjU5LjQsMTA4MS40IGMgMC41LC0xLjMgMSwtMi44IDEuNSwtNC4xIDEwLjksLTI4LjcgMjEuNywtNTYuNiAzMi4zLC04My44IDExLjksLTMwLjUgMjMuNywtNjAgMzUuNSwtODguNiAxMi4zLC0zMC4xIDI0LjUsLTU5LjMgMzYuNCwtODcuNSAxMi41LC0yOS41IDI0LjksLTU4IDM3LjEsLTg1LjQgOS45LC0yMi4zIDE5LjYsLTQzLjkgMjkuMiwtNjQuOCAzLjIsLTcgNi40LC0xMy45IDkuNiwtMjAuNyA2LjMsLTEzLjYgMTIuNSwtMjYuOCAxOC43LC0zOS44IDUuNywtMTEuOSAxMS4zLC0yMy42IDE3LC0zNS4yIDEuOSwtMy44IDMuNywtNy42IDUuNiwtMTEuNCAwLjMsLTAuNiAwLjYsLTEuMiAwLjksLTEuOSBsIC02LjEsMC42IC00LjgsLTkuNSBjIC0wLjUsMC45IC0wLjksMS45IC0xLjQsMi44IC04LjYsMTcuMyAtMTcuMywzNC42IC0yNS44LDUyLjEgLTQuOSwxMC4yIC05LjgsMjAuNCAtMTQuNywzMC41IC0xMy41LDI4LjMgLTI2LjcsNTcgLTM5LjgsODUuNiAtMTMuMiwyOS4xIC0yNi4xLDU4LjMgLTM4LjksODcuNiAtMTIuNCwyOC44IC0yNC43LDU3LjYgLTM2LjYsODYuMyAtMTEuOSwyOC43IC0yMy42LDU3LjMgLTM1LDg1LjYgLTExLjksMjkuNiAtMjMuNCw1OSAtMzQuNiw4OCAtMi42LDYuNiAtNSwxMy4xIC03LjYsMTkuNiAtOSwyMy40IC0xNy44LDQ2LjYgLTI2LjMsNjkuNCBsIDcuNiwxNSA2LjgsLTAuNyBjIDAuMiwtMC43IDAuNSwtMS4zIDAuNywtMi4xIDExLjEsLTI5LjggMjIsLTU5LjEgMzIuNywtODcuNiB6IgogICAgICAgICBpZD0icGF0aDMxODQiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJmaWxsOm5vbmUiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Ik0gNTg2LjYsNzA5LjYgWiIKICAgICAgICAgaWQ9InBhdGgzMTg2IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDpub25lIiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDU3MC4yLDc5MSBjIC02LjMsMS4xIC0xMi43LDIuMyAtMTkuNCwzLjQgMCwwIC0wLjEsMCAtMC4xLDAuMSAzLjQsLTAuNSA2LjcsLTEgMTAsLTEuNSAzLjEsLTAuNyA2LjMsLTEuMyA5LjUsLTIgeiIKICAgICAgICAgaWQ9InBhdGgzMTg4IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDojYmQyMDJlIiAvPgogICAgICA8cGF0aAogICAgICAgICBlbmFibGUtYmFja2dyb3VuZD0ibmV3ICAgICIKICAgICAgICAgZD0ibSA1NzAuMiw3OTEgYyAtNi4zLDEuMSAtMTIuNywyLjMgLTE5LjQsMy40IDAsMCAtMC4xLDAgLTAuMSwwLjEgMy40LC0wLjUgNi43LC0xIDEwLC0xLjUgMy4xLC0wLjcgNi4zLC0xLjMgOS41LC0yIHoiCiAgICAgICAgIGlkPSJwYXRoMzE5MCIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9Im9wYWNpdHk6MC4zNTtmaWxsOiNiZDIwMmUiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gNTg2LjcsNzA5LjUgYyAwLDAgMCwwLjEgMCwwIC0wLjEsMCAtMC4xLDAgLTAuMSwwLjEgMSwtMC4xIDIuMSwtMC4zIDMuMSwtMC41IDQuMiwtMC42IDguMywtMS4zIDEyLjMsLTIuMyAtNSwwLjkgLTEwLDEuOCAtMTUuMywyLjcgeiIKICAgICAgICAgaWQ9InBhdGgzMTkyIgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDojYmQyMDJlIiAvPgogICAgICA8cGF0aAogICAgICAgICBlbmFibGUtYmFja2dyb3VuZD0ibmV3ICAgICIKICAgICAgICAgZD0ibSA1ODYuNyw3MDkuNSBjIDAsMCAwLDAuMSAwLDAgLTAuMSwwIC0wLjEsMCAtMC4xLDAuMSAxLC0wLjEgMi4xLC0wLjMgMy4xLC0wLjUgNC4yLC0wLjYgOC4zLC0xLjMgMTIuMywtMi4zIC01LDAuOSAtMTAsMS44IC0xNS4zLDIuNyB6IgogICAgICAgICBpZD0icGF0aDMxOTQiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJvcGFjaXR5OjAuMzU7ZmlsbDojYmQyMDJlIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDI5MSIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItODYzMC43MTk3IgogICAgICAgICB5MT0iMjgwNC45NjA3IgogICAgICAgICB4Mj0iLTY5MzYuOTI1MyIKICAgICAgICAgeTI9IjI4MDQuOTYwNyIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgICAgaWQ9InN0b3A0MjkzIiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgICBpZD0ic3RvcDQyOTUiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICAgIGlkPSJzdG9wNDI5NyIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICAgIGlkPSJzdG9wNDI5OSIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1MTQsNDY5LjIgYyAxNSwtMjguMSAzMC4yLC01NS41IDQ1LjUsLTgyLjEgMTUuOSwtMjcuOCAzMi4xLC01NC42IDQ4LjQsLTgwLjYgMC45LC0xLjUgMiwtMy4xIDIuOSwtNC42IDE2LjEsLTI1LjUgMzIuNCwtNTAuMSA0OC43LC03My41IGwgLTQ5LjMsLTkzLjIgYyAtMy43LDQuNSAtNy40LDkuMSAtMTEuMiwxMy45IC0xNC4zLDE3LjggLTI5LDM2LjggLTQ0LjIsNTcuMSAtMTcuMSwyMi44IC0zNC42LDQ3LjIgLTUyLjUsNzIuOCAtMTYuNCwyMy42IC0zMy4yLDQ4LjMgLTUwLDc0IC0xNC4zLDIxLjggLTI4LjUsNDQuMiAtNDIuNyw2Ny4yIC0wLjUsMC44IC0xLDEuNyAtMS41LDIuNiBsIDY0LjMsMTI3IEMgNDg2LDUyMi4zIDUwMCw0OTUuNCA1MTQsNDY5LjIgWiIKICAgICAgICAgaWQ9InBhdGgzMjA1IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzJfLTYpIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDMwMiIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItODQyNi4yNTU5IgogICAgICAgICB5MT0iMjYzNS4yODM5IgogICAgICAgICB4Mj0iLTc0MTYuOTE5NCIKICAgICAgICAgeTI9IjI2MzUuMjgzOSIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMjgyNjYxIgogICAgICAgICAgIGlkPSJzdG9wNDMwNCIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iOS41NDgzODllLTAyIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM2NjJFOEMiCiAgICAgICAgICAgaWQ9InN0b3A0MzA2IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjc4ODIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlFMjA2NCIKICAgICAgICAgICBpZD0ic3RvcDQzMDgiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuOTQ4NyIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMDMyIgogICAgICAgICAgIGlkPSJzdG9wNDMxMCIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSAyMjEuMiwxMTg0LjQgYyAtOC41LDIzLjMgLTE3LjEsNDcuMiAtMjUuNiw3MS41IC0wLjEsMC4zIC0wLjIsMC43IC0wLjQsMSAtMS4yLDMuNCAtMi41LDYuOSAtMy42LDEwLjMgLTUuOCwxNi40IC0xMC44LDMxLjIgLTIyLjMsNjQuNyAxOC45LDguNiAzNC4xLDMxLjQgNDguNSw1Ny4yIC0xLjUsLTI2LjcgLTEyLjUsLTUxLjggLTMzLjYsLTcxLjIgOTMuMyw0LjIgMTczLjcsLTE5LjQgMjE1LjMsLTg3LjYgMy43LC02LjEgNy4xLC0xMi40IDEwLjIsLTE5LjMgLTE4LjksMjQgLTQyLjQsMzQuMSAtODYuNSwzMS43IC0wLjEsMCAtMC4yLDAuMSAtMC4zLDAuMSAwLjEsMCAwLjIsLTAuMSAwLjMsLTAuMSA2NSwtMjkuMSA5Ny41LC01NyAxMjYuNCwtMTAzLjIgNi44LC0xMSAxMy41LC0yMi45IDIwLjMsLTM2LjIgLTU2LjgsNTguMyAtMTIyLjUsNzQuOSAtMTkxLjgsNjIuMyBsIC01Miw1LjcgYyAtMS43LDQuNCAtMy4yLDguNyAtNC45LDEzLjEgeiIKICAgICAgICAgaWQ9InBhdGgzMjE2IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzNfLTcpIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDMxMyIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItODUzNS41ODc5IgogICAgICAgICB5MT0iMjgyMC44NjA0IgogICAgICAgICB4Mj0iLTY4NDEuNzkzIgogICAgICAgICB5Mj0iMjgyMC44NjA0IgogICAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgICBpZD0ic3RvcDQzMTUiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICAgIGlkPSJzdG9wNDMxNyIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgICAgaWQ9InN0b3A0MzE5IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgICAgaWQ9InN0b3A0MzIxIiAvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDI0NS41LDEwNjguMSBjIDExLjIsLTI5IDIyLjgsLTU4LjQgMzQuNiwtODggMTEuNCwtMjguNCAyMywtNTcgMzUsLTg1LjYgMTIsLTI4LjYgMjQuMiwtNTcuNSAzNi42LC04Ni4zIDEyLjYsLTI5LjMgMjUuNiwtNTguNSAzOC45LC04Ny42IDEzLjEsLTI4LjggMjYuMywtNTcuNCAzOS44LC04NS42IDQuOCwtMTAuMiA5LjgsLTIwLjQgMTQuNywtMzAuNSA4LjUsLTE3LjUgMTcuMSwtMzQuOSAyNS44LC01Mi4xIDAuNSwtMC45IDAuOSwtMS45IDEuNCwtMi44IEwgNDA4LDQyMi42IGMgLTEsMS43IC0yLjEsMy41IC0zLjIsNS4xIC0xNSwyNC41IC0yOS45LDQ5LjUgLTQ0LjUsNzUgLTE0LjgsMjUuOCAtMjkuMyw1Mi4xIC00My41LDc4LjggLTExLjksMjIuNSAtMjMuNiw0NS4xIC0zNS4xLDY4LjEgLTIuMyw0LjYgLTQuNSw5LjMgLTYuOCwxMy45IC0xNCwyOC45IC0yNi42LDU2LjYgLTM4LjEsODMuNSAtMTMsMzAuMyAtMjQuNCw1OS4zIC0zNC4zLDg2LjggLTYuNiwxOC4xIC0xMi41LDM1LjUgLTE4LDUyLjMgLTQuNSwxNC4zIC04LjcsMjguNyAtMTIuOSw0MyAtOS42LDMzLjYgLTE3LjksNjcuMiAtMjQuNywxMDAuNiBsIDY0LjYsMTI3LjUgYyA4LjUsLTIyLjggMTcuMywtNDYgMjYuMywtNjkuNCAyLjcsLTYuNyA1LjEsLTEzLjMgNy43LC0xOS43IHoiCiAgICAgICAgIGlkPSJwYXRoMzIyNyIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF80Xy0wKSIgLz4KICAgICAgPGxpbmVhckdyYWRpZW50CiAgICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQzMjQiCiAgICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgICB4MT0iLTg0MTIuMDU3NiIKICAgICAgICAgeTE9IjI3OTcuODc4OSIKICAgICAgICAgeDI9Ii03NTIxLjkxNzUiCiAgICAgICAgIHkyPSIyNzk3Ljg3ODkiCiAgICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC40MzQ1LC0wLjkzMTgsLTAuOTMxOCwtMC40MzQ1LDYyMjMuNDc2MSwtNTA1Mi43NDI3KSI+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzI4MjY2MSIKICAgICAgICAgICBpZD0ic3RvcDQzMjYiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjkuNTQ4Mzg5ZS0wMiIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojNjYyRThDIgogICAgICAgICAgIGlkPSJzdG9wNDMyOCIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC43ODgyIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5RTIwNjQiCiAgICAgICAgICAgaWQ9InN0b3A0MzMwIiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjk0ODciCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0NDMjAzMiIKICAgICAgICAgICBpZD0ic3RvcDQzMzIiIC8+CiAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICAgIDxwYXRoCiAgICAgICAgIGQ9Im0gMTQ2LjIsMTAzNCBjIC04LjEsNDAuOCAtMTMuOSw4MS40IC0xNi44LDEyMS44IC0wLjEsMS40IC0wLjIsMi44IC0wLjMsNC4yIC0yMC4yLC0zMi4zIC03NC4xLC02My44IC03NCwtNjMuNSAzOC43LDU2IDY4LDExMS42IDcyLjMsMTY2LjIgLTIwLjcsNC4yIC00OSwtMS45IC04MS43LC0xMy45IDM0LjEsMzEuNCA1OS43LDQwIDY5LjgsNDIuNCAtMzEuNCwyIC02NCwyMy41IC05Ni45LDQ4LjMgNDguMSwtMTkuNiA4NywtMjcuNCAxMTQuOCwtMjEuMSAtNDQuMiwxMjUgLTg4LjQsMjYzIC0xMzIuNyw0MDkuNiAxMy42LC00IDIxLjcsLTEzLjIgMjYuMiwtMjUuNSA3LjksLTI2LjUgNjAuMiwtMjAwLjcgMTQyLjMsLTQyOS40IDIuNCwtNi41IDQuNywtMTMuMSA3LjEsLTE5LjYgMC42LC0xLjkgMS4zLC0zLjcgMiwtNS40IDguNiwtMjQgMTcuNywtNDguNSAyNi45LC03My41IDIuMSwtNS43IDQuMiwtMTEuNCA2LjQsLTE3LjEgMCwtMC4xIDAuMSwtMC4yIDAuMSwtMC4zIEwgMTQ3LDEwMjkuNyBjIC0wLjIsMS4zIC0wLjUsMi44IC0wLjgsNC4zIHoiCiAgICAgICAgIGlkPSJwYXRoMzIzOCIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF81Xy04KSIgLz4KICAgICAgPGxpbmVhckdyYWRpZW50CiAgICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQzMzUiCiAgICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgICB4MT0iLTg1MzUuNTg3OSIKICAgICAgICAgeTE9IjI2NDUuNDg5NyIKICAgICAgICAgeDI9Ii02ODQxLjc5MyIKICAgICAgICAgeTI9IjI2NDUuNDg5NyIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgICAgaWQ9InN0b3A0MzM3IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgICBpZD0ic3RvcDQzMzkiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICAgIGlkPSJzdG9wNDM0MSIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICAgIGlkPSJzdG9wNDM0MyIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA0ODIuMyw1NjAuMiBjIC0xLjksMy44IC0zLjcsNy42IC01LjYsMTEuNCAtNS42LDExLjUgLTExLjIsMjMuMiAtMTcsMzUuMiAtNi4yLDEzIC0xMi40LDI2LjIgLTE4LjcsMzkuOCAtMy4yLDYuOCAtNi40LDEzLjcgLTkuNiwyMC43IC05LjYsMjAuOSAtMTkuMyw0Mi41IC0yOS4yLDY0LjggLTEyLjEsMjcuMyAtMjQuNiw1NS44IC0zNy4xLDg1LjQgLTExLjksMjguMiAtMjQuMiw1Ny4zIC0zNi40LDg3LjUgLTExLjcsMjguNiAtMjMuNSw1OC4yIC0zNS41LDg4LjYgLTEwLjcsMjcuMSAtMjEuNSw1NS4xIC0zMi4zLDgzLjggLTAuNSwxLjMgLTEsMi44IC0xLjUsNC4xIC0xMC44LDI4LjUgLTIxLjcsNTcuOCAtMzIuNiw4Ny44IC0wLjIsMC43IC0wLjUsMS4zIC0wLjcsMi4xIGwgNTIsLTUuNyBjIC0xLC0wLjIgLTIuMSwtMC4zIC0zLjEsLTAuNSA2Mi4xLC03LjcgMTQ0LjgsLTU0LjIgMTk4LjEsLTExMS41IDI0LjYsLTI2LjQgNDYuOSwtNTcuNiA2Ny41LC05NC4xIDE1LjMsLTI3LjEgMjkuOCwtNTcuMyA0My42LC05MC42IDEyLC0yOS4xIDIzLjUsLTYwLjcgMzQuNiwtOTQuOCAtMTQuMyw3LjUgLTMwLjYsMTMuMSAtNDguNiwxNi45IC0zLjIsMC43IC02LjQsMS4zIC05LjcsMS45IC0zLjMsMC42IC02LjYsMS4xIC0xMCwxLjUgdiAwIDAgYyAwLDAgMC4xLDAgMC4xLC0wLjEgNTgsLTIyLjMgOTQuNSwtNjUuMyAxMjEsLTExOCAtMTUuMiwxMC40IC00MCwyNCAtNjkuNywzMC41IC00LDAuOSAtOC4xLDEuNiAtMTIuMywyLjMgLTEsMC4xIC0yLjEsMC4zIC0zLjEsMC41IHYgMCAwIGggMC4xIGMgMCwwIDAsMCAwLjEsMCB2IDAgYyAyMC4yLC04LjQgMzcuMSwtMTcuOSA1MS44LC0yOSAzLjIsLTIuNCA2LjMsLTQuOCA5LjEsLTcuNCA0LjUsLTMuOSA4LjcsLTggMTIuOSwtMTIuMiAyLjYsLTIuOCA1LjEsLTUuNiA3LjYsLTguNSA1LjgsLTYuOSAxMS4yLC0xNC4zIDE2LjIsLTIyLjMgMS41LC0yLjUgMy4xLC00LjkgNC41LC03LjUgMiwtMy43IDMuOCwtNy40IDUuNiwtMTAuOSA4LjEsLTE2LjIgMTQuNiwtMzAuOCAxOS43LC00My41IDIuNiwtNi40IDQuOCwtMTIuMiA2LjgsLTE3LjggMC44LC0yLjIgMS41LC00LjMgMi4yLC02LjQgMi4xLC02LjEgMy43LC0xMS41IDUsLTE2LjMgMiwtNy4yIDMuMiwtMTIuOSAzLjgsLTE3IHYgMCAwIGMgLTIsMS41IC00LjIsMy4xIC02LjgsNC42IC0xNy41LDEwLjUgLTQ3LjUsMTkuOSAtNzEuNywyNC40IGwgNDcuNywtNS4yIC00Ny43LDUuMiBjIC0wLjMsMC4xIC0wLjcsMC4xIC0xLjEsMC4yIC0yLjUsMC40IC00LjgsMC44IC03LjMsMS4xIDAuNCwtMC4yIDAuOCwtMC40IDEuMiwtMC42IGwgLTE2My4zLDE3LjkgYyAwLDAuNCAtMC4zLDEuMSAtMC42LDEuNyB6IgogICAgICAgICBpZD0icGF0aDMyNDkiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJmaWxsOnVybCgjU1ZHSURfNl8tMikiIC8+CiAgICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ0MzQ2IgogICAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgICAgeDE9Ii04NjQwLjY1OTIiCiAgICAgICAgIHkxPSIyNjU0LjI2NDkiCiAgICAgICAgIHgyPSItNjk0Ni44NjQ3IgogICAgICAgICB5Mj0iMjY1NC4yNjQ5IgogICAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgICBpZD0ic3RvcDQzNDgiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICAgIGlkPSJzdG9wNDM1MCIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgICAgaWQ9InN0b3A0MzUyIiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgICAgaWQ9InN0b3A0MzU0IiAvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDY2Ni4xLDIzMC4yIGMgLTE0LjUsMjIuMyAtMzAuMyw0Ny42IC00Ny41LDc2LjMgLTAuOSwxLjQgLTEuOSwzLjEgLTIuNyw0LjUgLTE0LjcsMjQuOCAtMzAuMyw1MiAtNDYuOSw4MS45IC0xNC4yLDI1LjggLTI5LDUzLjQgLTQ0LjQsODMuMSAtMTMuNCwyNS45IC0yNy4yLDUzLjQgLTQxLjUsODIuNSBsIDE2My4zLC0xNy45IGMgNDcuNiwtMjEuOSA2OC44LC00MS42IDg5LjQsLTcwLjMgNS40LC03LjkgMTEsLTE2LjEgMTYuNCwtMjQuNyAxNi44LC0yNi4yIDMzLjIsLTU1IDQ3LjksLTgzLjcgMTQuMiwtMjcuNyAyNi43LC01NS4xIDM2LjMsLTc5LjkgNi4xLC0xNS43IDExLC0zMC4zIDE0LjQsLTQzLjIgMywtMTEuMyA1LjMsLTIyLjEgNy4xLC0zMi40IC02My4zLDEwLjkgLTE0MS4yLDIxLjMgLTE5MS44LDIzLjggeiIKICAgICAgICAgaWQ9InBhdGgzMjYwIgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI1NWR0lEXzdfLTIpIiAvPgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDU2MC41LDc5Mi44IGMgLTMuMywwLjYgLTYuNiwxLjEgLTEwLDEuNSB2IDAgYyAzLjQsLTAuMyA2LjgsLTAuOSAxMCwtMS41IHoiCiAgICAgICAgIGlkPSJwYXRoMzI2MiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6I2JkMjAyZSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAgICAiCiAgICAgICAgIGQ9Im0gNTYwLjUsNzkyLjggYyAtMy4zLDAuNiAtNi42LDEuMSAtMTAsMS41IHYgMCBjIDMuNCwtMC4zIDYuOCwtMC45IDEwLC0xLjUgeiIKICAgICAgICAgaWQ9InBhdGgzMjY0IgogICAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgICBzdHlsZT0ib3BhY2l0eTowLjM1O2ZpbGw6I2JkMjAyZSIgLz4KICAgICAgPGxpbmVhckdyYWRpZW50CiAgICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQzNTkiCiAgICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgICB4MT0iLTg1MzUuNTg4OSIKICAgICAgICAgeTE9IjI1OTMuNDQ2IgogICAgICAgICB4Mj0iLTY4NDEuNzkyNSIKICAgICAgICAgeTI9IjI1OTMuNDQ2IgogICAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDAuNDM0NSwtMC45MzE4LC0wLjkzMTgsLTAuNDM0NSw2MjIzLjQ3NjEsLTUwNTIuNzQyNykiPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjMyMzMiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzlDMjA2MyIKICAgICAgICAgICBpZD0ic3RvcDQzNjEiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNjMwMiIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQzgyMDM3IgogICAgICAgICAgIGlkPSJzdG9wNDM2MyIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC43NTE0IgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNDQzIxMzUiCiAgICAgICAgICAgaWQ9InN0b3A0MzY1IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNFODc3MjYiCiAgICAgICAgICAgaWQ9InN0b3A0MzY3IiAvPgogICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICA8cGF0aAogICAgICAgICBkPSJtIDU2MC41LDc5Mi44IGMgLTMuMywwLjYgLTYuNiwxLjEgLTEwLDEuNSB2IDAgYyAzLjQsLTAuMyA2LjgsLTAuOSAxMCwtMS41IHoiCiAgICAgICAgIGlkPSJwYXRoMzI3NSIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF84Xy0zKSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1ODYuNiw3MDkuNiBjIDEsLTAuMSAyLjEsLTAuMyAzLjEsLTAuNSAtMSwwLjEgLTIsMC40IC0zLjEsMC41IHoiCiAgICAgICAgIGlkPSJwYXRoMzI3NyIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6I2JkMjAyZSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAgICAiCiAgICAgICAgIGQ9Im0gNTg2LjYsNzA5LjYgYyAxLC0wLjEgMi4xLC0wLjMgMy4xLC0wLjUgLTEsMC4xIC0yLDAuNCAtMy4xLDAuNSB6IgogICAgICAgICBpZD0icGF0aDMyNzkiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJvcGFjaXR5OjAuMzU7ZmlsbDojYmQyMDJlIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDM3MiIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItODUzNS41ODg5IgogICAgICAgICB5MT0iMjU5OS4zMjQyIgogICAgICAgICB4Mj0iLTY4NDEuNzkyNSIKICAgICAgICAgeTI9IjI1OTkuMzI0MiIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgICAgaWQ9InN0b3A0Mzc0IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgICBpZD0ic3RvcDQzNzYiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICAgIGlkPSJzdG9wNDM3OCIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICAgIGlkPSJzdG9wNDM4MCIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1ODYuNiw3MDkuNiBjIDEsLTAuMSAyLjEsLTAuMyAzLjEsLTAuNSAtMSwwLjEgLTIsMC40IC0zLjEsMC41IHoiCiAgICAgICAgIGlkPSJwYXRoMzI5MCIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF85Xy0zKSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1ODYuNiw3MDkuNiBjIDAuMSwwIDAuMSwtMC4xIDAsMCB2IDAgMCAwIGMgMC4xLC0wLjEgMC4xLDAgMCwwIHoiCiAgICAgICAgIGlkPSJwYXRoMzI5MiIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6I2JkMjAyZSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAgICAiCiAgICAgICAgIGQ9Im0gNTg2LjYsNzA5LjYgYyAwLjEsMCAwLjEsLTAuMSAwLDAgdiAwIDAgMCBjIDAuMSwtMC4xIDAuMSwwIDAsMCB6IgogICAgICAgICBpZD0icGF0aDMyOTQiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIHN0eWxlPSJvcGFjaXR5OjAuMzU7ZmlsbDojYmQyMDJlIiAvPgogICAgICA8bGluZWFyR3JhZGllbnQKICAgICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDM4NSIKICAgICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICAgIHgxPSItNzU4NC4wMzg2IgogICAgICAgICB5MT0iMjYwMC41NTE1IgogICAgICAgICB4Mj0iLTcyMDkuNjU0MyIKICAgICAgICAgeTI9IjI2MDAuNTUxNSIKICAgICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjQzNDUsLTAuOTMxOCwtMC45MzE4LC0wLjQzNDUsNjIyMy40NzYxLC01MDUyLjc0MjcpIj4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMC4zMjMzIgogICAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM5QzIwNjMiCiAgICAgICAgICAgaWQ9InN0b3A0Mzg3IiAvPgogICAgICAgIDxzdG9wCiAgICAgICAgICAgb2Zmc2V0PSIwLjYzMDIiCiAgICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I0M4MjAzNyIKICAgICAgICAgICBpZD0ic3RvcDQzODkiIC8+CiAgICAgICAgPHN0b3AKICAgICAgICAgICBvZmZzZXQ9IjAuNzUxNCIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojQ0MyMTM1IgogICAgICAgICAgIGlkPSJzdG9wNDM5MSIgLz4KICAgICAgICA8c3RvcAogICAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojRTg3NzI2IgogICAgICAgICAgIGlkPSJzdG9wNDM5MyIgLz4KICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgPHBhdGgKICAgICAgICAgZD0ibSA1ODYuNiw3MDkuNiBjIDAuMSwwIDAuMSwtMC4xIDAsMCB2IDAgMCAwIGMgMC4xLC0wLjEgMC4xLDAgMCwwIHoiCiAgICAgICAgIGlkPSJwYXRoMzMwNSIKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgc3R5bGU9ImZpbGw6dXJsKCNTVkdJRF8xMF8tOCkiIC8+CiAgICA8L2c+CiAgPC9nPgo8L3N2Zz4K" camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "JMS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" camel.apache.org/requires.runtime: camel-k spec: definition: title: "JMS - AMQP 1.0 Source" description: "Consume data from any AMQP 1.0 compliant message broker by using the Apache Qpid JMS client." required: - destinationName - remoteURI type: object properties: destinationType: title: "Destination Type" description: "The JMS destination type (queue or topic)." type: string default: queue destinationName: title: "Destination Name" description: "The JMS destination name." type: string remoteURI: title: "Broker URL" description: "The JMS URL." type: string example: "amqp://my-host:31616" dependencies: - "camel:jms" - "camel:amqp" - "camel:kamelet" template: beans: - name: connectionFactoryBean type: "#class:org.apache.qpid.jms.JmsConnectionFactory" properties: remoteURI: '{{remoteURI}}' from: uri: "jms:{{destinationType}}:{{destinationName}}" parameters: connectionFactory: "#bean:{{connectionFactoryBean}}" steps: - to: uri: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jms-apache-artemis-sink annotations: camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iOTQuNTY2OTFtbSIKICAgaGVpZ2h0PSI4My44MzA0NDRtbSIKICAgdmlld0JveD0iMCAwIDk0LjU2NjkxIDgzLjgzMDQ0NCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDM5MCI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSIyLjgiCiAgICAgaW5rc2NhcGU6Y3g9IjI0LjE0MTM0OSIKICAgICBpbmtzY2FwZTpjeT0iMjAxLjA3Njk3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMzg0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIyMDU2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5lPSJ0cnVlIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9InRydWUiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIyMCIKICAgICBpbmtzY2FwZTpzbmFwLW9iamVjdC1taWRwb2ludHM9InRydWUiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0Mzg0Ij4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQiIKICAgICAgIGlua3NjYXBlOmxhYmVsPSJEcm9wIFNoYWRvdyIKICAgICAgIGlkPSJmaWx0ZXI1NTI5Ij4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDU1MTkiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjEiIC8+CiAgICAgIDxmZUdhdXNzaWFuQmx1cgogICAgICAgICBpbj0iY29tcG9zaXRlMSIKICAgICAgICAgc3RkRGV2aWF0aW9uPSIwLjIiCiAgICAgICAgIHJlc3VsdD0iYmx1ciIKICAgICAgICAgaWQ9ImZlR2F1c3NpYW5CbHVyNTUyMyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU1MjUiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjciIC8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQjsiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iRHJvcCBTaGFkb3ciCiAgICAgICBpZD0iZmlsdGVyNTYiPgogICAgICA8ZmVGbG9vZAogICAgICAgICBmbG9vZC1vcGFjaXR5PSIwLjQ5ODAzOSIKICAgICAgICAgZmxvb2QtY29sb3I9InJnYigwLDAsMCkiCiAgICAgICAgIHJlc3VsdD0iZmxvb2QiCiAgICAgICAgIGlkPSJmZUZsb29kNDYiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTQ4IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgaW49ImNvbXBvc2l0ZTEiCiAgICAgICAgIHN0ZERldmlhdGlvbj0iMC4xIgogICAgICAgICByZXN1bHQ9ImJsdXIiCiAgICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjUwIiAvPgogICAgICA8ZmVPZmZzZXQKICAgICAgICAgZHg9IjEiCiAgICAgICAgIGR5PSIxIgogICAgICAgICByZXN1bHQ9Im9mZnNldCIKICAgICAgICAgaWQ9ImZlT2Zmc2V0NTIiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU0IiAvPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyCiAgICAgICBzdHlsZT0iY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOnNSR0I7IgogICAgICAgaW5rc2NhcGU6bGFiZWw9IkRyb3AgU2hhZG93IgogICAgICAgaWQ9ImZpbHRlcjYzIj4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDUyIiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49ImZsb29kIgogICAgICAgICBpbjI9IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIG9wZXJhdG9yPSJpbiIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUxIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU1NSIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyCiAgICAgICAgIGluPSJjb21wb3NpdGUxIgogICAgICAgICBzdGREZXZpYXRpb249IjAuMSIKICAgICAgICAgcmVzdWx0PSJibHVyIgogICAgICAgICBpZD0iZmVHYXVzc2lhbkJsdXI1NyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU5IiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIGluMj0ib2Zmc2V0IgogICAgICAgICBvcGVyYXRvcj0ib3ZlciIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUyIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU2MSIgLz4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0Mzg3Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZSAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMiIKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMiIKICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTguMDUyNzc3OCwtOTYuOTUwODk0KSI+CiAgICA8ZwogICAgICAgaWQ9Imc1MDczIgogICAgICAgc3R5bGU9ImZpbHRlcjp1cmwoI2ZpbHRlcjU1MjkpIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNjk3MTkzLDE1My41NTE4MSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDYgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzU5OSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjE0Ni4yOTQzNCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjU2MzgwMSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4MyIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjMyMTM3LDE0Ni41NTMwOSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzUgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwNCIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEzOS4yOTU2MiIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjQ5ODc0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00IgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD0iMy4zNTY0NDcyZS0wNiIKICAgICAgICAgZD0ibSA2NC43NzEyNjMsMTM5LjU4ODg5IC04LjM1MTg0OCwtMC4wNDkxIC00LjEzMzM5MiwtNy4yNTc0NyA0LjIxODQ1NSwtNy4yMDgzNiA4LjM1MTg0OSwwLjA0OTEgNC4xMzMzOTIsNy4yNTc0NyB6IgogICAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuNTc2Njc2NiIKICAgICAgICAgc29kaXBvZGk6YXJnMT0iMS4wNTMwNzc4IgogICAgICAgICBzb2RpcG9kaTpyMj0iNi4wNDczNjA5IgogICAgICAgICBzb2RpcG9kaTpyMT0iOC4zNTE5OTI2IgogICAgICAgICBzb2RpcG9kaTpjeT0iMTMyLjMzMTQyIgogICAgICAgICBzb2RpcG9kaTpjeD0iNjAuNjM3ODcxIgogICAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgICAgaWQ9InBhdGg0ODgzLTQtMiIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNzY1NDg4LDEyNS43MDIyOCAtOC4zNTE4NDksLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkzLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjExOC40NDQ4MSIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjYzMjA5NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMCIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjk2MDM3LDEzMi42NzYxMSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEyNS40MTg2NCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjU2MjY0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMC0wIgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOC4wNTI3Nzc4LC05Ni45NTA4OTQpIj4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMDMxMDU1LDYzLjc5NTc3NikiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wMi05IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNjMTI3NjY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjE3MDE3OSw3MC43NTk5ODUpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC01LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6IzNlNDg5ZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MTU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii05Ni43ODY0NjUiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjE5OC4xMDMzNSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMTA2NDksNzcuNzU4MjkzKSIKICAgICAgIGQ9Im0gMTg0OS4xMzg3LDY0MC4zNTI1MiAtOTYuODI0MiwyMC41NTgwMiAtNjYuMjE1OCwtNzMuNTczMTYgMzAuNjA4MywtOTQuMTMxMTggOTYuODI0MiwtMjAuNTU4MDIgNjYuMjE1OCw3My41NzMxNiB6IgogICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICBzb2RpcG9kaTphcmcyPSIxLjM2MTU4IgogICAgICAgc29kaXBvZGk6YXJnMT0iMC44Mzc5ODEyMyIKICAgICAgIHNvZGlwb2RpOnIyPSI0OS40OTEyOCIKICAgICAgIHNvZGlwb2RpOnIxPSI5OC45ODI1NTkiCiAgICAgICBzb2RpcG9kaTpjeT0iNTY2Ljc3OTM2IgogICAgICAgc29kaXBvZGk6Y3g9IjE3ODIuOTIyOSIKICAgICAgIHNvZGlwb2RpOnNpZGVzPSI2IgogICAgICAgaWQ9InBhdGg1MDE5LTQtMS0yIgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3MTQwOTk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjEwNjI4MSw1Ni44ODI5OSkiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wLTQtOS04IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3ODkzMmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTU5LjAzNjgyOCw0OS45MDkxNjcpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC0wLTctOSIKICAgICAgIHN0eWxlPSJvcGFjaXR5OjE7ZmlsbDojY2YyNDJhO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTQ2LjI5NDM0IgogICAgICAgY3g9IjYwLjU2MzgwMSIKICAgICAgIGlkPSJwYXRoNTU1My03IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTIiCiAgICAgICBkPSJNIDYxLjc0NzY1NywxMTcuNzEwMzkgNDcuNDgwNzksMTI1Ljg4NDI0IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03IgogICAgICAgZD0ibSA0OC41MTM2MjcsMTI0LjE5Njc1IDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctMSIKICAgICAgIGQ9Im0gNDcuNTI0NTE5LDEzOC43MTQ2OCAxNC4xMzY0NTMsOC4zOTc0MSIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuNTIzNzUyNzU7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTItNy03IgogICAgICAgZD0ibSA2MC41OTAxMDEsMTE3LjEzMjUxIDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctNCIKICAgICAgIGQ9Im0gNjAuNjU3Mzc0LDEzMS4wOTI3OCAwLjA0ODExLDE2LjQ0MjQyIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM4MDAwMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi01IgogICAgICAgZD0ibSA2MS43NjU1NSwxMzEuNzA4MDEgLTE0LjI2Njg2Nyw4LjE3Mzg2IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03LTEtMyIKICAgICAgIGQ9Im0gNDcuNTYzODksMTI0Ljg0MDg2IDE0LjEzNjQ1Myw4LjM5NzQxIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHRleHQKICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTowLjY3NzAwOTUycHg7bGluZS1oZWlnaHQ6MCU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxO2ZpbHRlcjp1cmwoI2ZpbHRlcjYzKSIKICAgICAgIHg9IjE3Ljk5MjA5NiIKICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgIGlkPSJ0ZXh0NTA5My0xLTQiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSI+PHRzcGFuCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTIuNDI3NjQ1NjhweDtsaW5lLWhlaWdodDoxLjI1O2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNiIKICAgICAgICAgeD0iMTcuOTkyMDk2IgogICAgICAgICB5PSIxNjguOTY2OTUiPjx0c3BhbgogICAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiCiAgICAgICAgICAgaWQ9InRzcGFuNTA5Ny0xLTQiPkFDVElWRTwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICB5PSIxNTguMzA0OTMiCiAgICAgICBpZD0idGV4dDY5MzgtNCIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5Ij48dHNwYW4KICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1LjExNzE5Nzk5cHg7bGluZS1oZWlnaHQ6MS4yNTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweCIKICAgICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgICAgaWQ9InRzcGFuNjk0MC0xIgogICAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICAgIHk9IjE1OC4zMDQ5MyI+QVBBQ0hFPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6I2MxMjc2NjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjE7ZmlsdGVyOnVybCgjZmlsdGVyNTYpIgogICAgICAgeD0iNjcuNzg2ODY1IgogICAgICAgeT0iMTY4Ljk2Njk1IgogICAgICAgaWQ9InRleHQ1MDkzLTEtNC0yLTgtOS00IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNi01LTUtNi0zIgogICAgICAgICB4PSI2Ny43ODY4NjUiCiAgICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMi40Mjc2NDU2OHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiPk1RPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgaWQ9InRleHQzOTYwIgogICAgICAgeT0iMTYwLjY1NzczIgogICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6My4xNzUwMDAwOHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU3ODkzMTsiCiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjA1Nzg5MzE7Zm9udC1zaXplOjMuMTc1MDAwMDhweDsiCiAgICAgICAgIHk9IjE2MC42NTc3MyIKICAgICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgICBpZD0idHNwYW4zOTU4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIj7CrjwvdHNwYW4+PC90ZXh0PgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTM5LjI0MjE5IgogICAgICAgY3g9IjQ4LjMzMzcwNiIKICAgICAgIGlkPSJwYXRoNTU1My03LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTMyLjQ4NTg2IgogICAgICAgY3g9IjYwLjkwMTQxMyIKICAgICAgIGlkPSJwYXRoNTU1My03LTMiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTI1LjQxODY0IgogICAgICAgY3g9IjQ4LjU2MjY0NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTAiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTE4LjQ0NDgyIgogICAgICAgY3g9IjYwLjYzMjA5NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTM5IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "JMS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" camel.apache.org/requires.runtime: camel-k spec: definition: title: "JMS - Apache Artemis Sink" description: "Send data to an Apache Artemis message broker by using JMS." required: - destinationName - brokerURL type: object properties: destinationType: title: "Destination Type" description: "The JMS destination type (queue or topic)." type: string default: queue destinationName: title: "Destination Name" description: "The JMS destination name." type: string example: person brokerURL: title: "Broker URL" description: "The JMS URL." type: string example: "tcp://my-host:61616" dependencies: - "camel:jms" - "camel:kamelet" - "mvn:org.apache.activemq:artemis-jakarta-client-all:2.42.0" template: beans: - name: connectionFactoryBean type: "#class:org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory" properties: brokerURL: '{{brokerURL}}' from: uri: "kamelet:source" steps: - to: uri: "jms:{{destinationType}}:{{destinationName}}" parameters: connectionFactory: "#bean:{{connectionFactoryBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jms-apache-artemis-source annotations: camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iOTQuNTY2OTFtbSIKICAgaGVpZ2h0PSI4My44MzA0NDRtbSIKICAgdmlld0JveD0iMCAwIDk0LjU2NjkxIDgzLjgzMDQ0NCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDM5MCI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSIyLjgiCiAgICAgaW5rc2NhcGU6Y3g9IjI0LjE0MTM0OSIKICAgICBpbmtzY2FwZTpjeT0iMjAxLjA3Njk3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMzg0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIyMDU2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5lPSJ0cnVlIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9InRydWUiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIyMCIKICAgICBpbmtzY2FwZTpzbmFwLW9iamVjdC1taWRwb2ludHM9InRydWUiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0Mzg0Ij4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQiIKICAgICAgIGlua3NjYXBlOmxhYmVsPSJEcm9wIFNoYWRvdyIKICAgICAgIGlkPSJmaWx0ZXI1NTI5Ij4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDU1MTkiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjEiIC8+CiAgICAgIDxmZUdhdXNzaWFuQmx1cgogICAgICAgICBpbj0iY29tcG9zaXRlMSIKICAgICAgICAgc3RkRGV2aWF0aW9uPSIwLjIiCiAgICAgICAgIHJlc3VsdD0iYmx1ciIKICAgICAgICAgaWQ9ImZlR2F1c3NpYW5CbHVyNTUyMyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU1MjUiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjciIC8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQjsiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iRHJvcCBTaGFkb3ciCiAgICAgICBpZD0iZmlsdGVyNTYiPgogICAgICA8ZmVGbG9vZAogICAgICAgICBmbG9vZC1vcGFjaXR5PSIwLjQ5ODAzOSIKICAgICAgICAgZmxvb2QtY29sb3I9InJnYigwLDAsMCkiCiAgICAgICAgIHJlc3VsdD0iZmxvb2QiCiAgICAgICAgIGlkPSJmZUZsb29kNDYiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTQ4IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgaW49ImNvbXBvc2l0ZTEiCiAgICAgICAgIHN0ZERldmlhdGlvbj0iMC4xIgogICAgICAgICByZXN1bHQ9ImJsdXIiCiAgICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjUwIiAvPgogICAgICA8ZmVPZmZzZXQKICAgICAgICAgZHg9IjEiCiAgICAgICAgIGR5PSIxIgogICAgICAgICByZXN1bHQ9Im9mZnNldCIKICAgICAgICAgaWQ9ImZlT2Zmc2V0NTIiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU0IiAvPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyCiAgICAgICBzdHlsZT0iY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOnNSR0I7IgogICAgICAgaW5rc2NhcGU6bGFiZWw9IkRyb3AgU2hhZG93IgogICAgICAgaWQ9ImZpbHRlcjYzIj4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDUyIiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49ImZsb29kIgogICAgICAgICBpbjI9IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIG9wZXJhdG9yPSJpbiIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUxIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU1NSIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyCiAgICAgICAgIGluPSJjb21wb3NpdGUxIgogICAgICAgICBzdGREZXZpYXRpb249IjAuMSIKICAgICAgICAgcmVzdWx0PSJibHVyIgogICAgICAgICBpZD0iZmVHYXVzc2lhbkJsdXI1NyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU5IiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIGluMj0ib2Zmc2V0IgogICAgICAgICBvcGVyYXRvcj0ib3ZlciIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUyIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU2MSIgLz4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0Mzg3Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZSAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMiIKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMiIKICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTguMDUyNzc3OCwtOTYuOTUwODk0KSI+CiAgICA8ZwogICAgICAgaWQ9Imc1MDczIgogICAgICAgc3R5bGU9ImZpbHRlcjp1cmwoI2ZpbHRlcjU1MjkpIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNjk3MTkzLDE1My41NTE4MSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDYgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzU5OSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjE0Ni4yOTQzNCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjU2MzgwMSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4MyIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjMyMTM3LDE0Ni41NTMwOSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzUgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwNCIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEzOS4yOTU2MiIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjQ5ODc0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00IgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD0iMy4zNTY0NDcyZS0wNiIKICAgICAgICAgZD0ibSA2NC43NzEyNjMsMTM5LjU4ODg5IC04LjM1MTg0OCwtMC4wNDkxIC00LjEzMzM5MiwtNy4yNTc0NyA0LjIxODQ1NSwtNy4yMDgzNiA4LjM1MTg0OSwwLjA0OTEgNC4xMzMzOTIsNy4yNTc0NyB6IgogICAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuNTc2Njc2NiIKICAgICAgICAgc29kaXBvZGk6YXJnMT0iMS4wNTMwNzc4IgogICAgICAgICBzb2RpcG9kaTpyMj0iNi4wNDczNjA5IgogICAgICAgICBzb2RpcG9kaTpyMT0iOC4zNTE5OTI2IgogICAgICAgICBzb2RpcG9kaTpjeT0iMTMyLjMzMTQyIgogICAgICAgICBzb2RpcG9kaTpjeD0iNjAuNjM3ODcxIgogICAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgICAgaWQ9InBhdGg0ODgzLTQtMiIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNzY1NDg4LDEyNS43MDIyOCAtOC4zNTE4NDksLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkzLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjExOC40NDQ4MSIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjYzMjA5NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMCIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjk2MDM3LDEzMi42NzYxMSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEyNS40MTg2NCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjU2MjY0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMC0wIgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOC4wNTI3Nzc4LC05Ni45NTA4OTQpIj4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMDMxMDU1LDYzLjc5NTc3NikiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wMi05IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNjMTI3NjY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjE3MDE3OSw3MC43NTk5ODUpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC01LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6IzNlNDg5ZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MTU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii05Ni43ODY0NjUiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjE5OC4xMDMzNSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMTA2NDksNzcuNzU4MjkzKSIKICAgICAgIGQ9Im0gMTg0OS4xMzg3LDY0MC4zNTI1MiAtOTYuODI0MiwyMC41NTgwMiAtNjYuMjE1OCwtNzMuNTczMTYgMzAuNjA4MywtOTQuMTMxMTggOTYuODI0MiwtMjAuNTU4MDIgNjYuMjE1OCw3My41NzMxNiB6IgogICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICBzb2RpcG9kaTphcmcyPSIxLjM2MTU4IgogICAgICAgc29kaXBvZGk6YXJnMT0iMC44Mzc5ODEyMyIKICAgICAgIHNvZGlwb2RpOnIyPSI0OS40OTEyOCIKICAgICAgIHNvZGlwb2RpOnIxPSI5OC45ODI1NTkiCiAgICAgICBzb2RpcG9kaTpjeT0iNTY2Ljc3OTM2IgogICAgICAgc29kaXBvZGk6Y3g9IjE3ODIuOTIyOSIKICAgICAgIHNvZGlwb2RpOnNpZGVzPSI2IgogICAgICAgaWQ9InBhdGg1MDE5LTQtMS0yIgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3MTQwOTk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjEwNjI4MSw1Ni44ODI5OSkiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wLTQtOS04IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3ODkzMmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTU5LjAzNjgyOCw0OS45MDkxNjcpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC0wLTctOSIKICAgICAgIHN0eWxlPSJvcGFjaXR5OjE7ZmlsbDojY2YyNDJhO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTQ2LjI5NDM0IgogICAgICAgY3g9IjYwLjU2MzgwMSIKICAgICAgIGlkPSJwYXRoNTU1My03IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTIiCiAgICAgICBkPSJNIDYxLjc0NzY1NywxMTcuNzEwMzkgNDcuNDgwNzksMTI1Ljg4NDI0IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03IgogICAgICAgZD0ibSA0OC41MTM2MjcsMTI0LjE5Njc1IDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctMSIKICAgICAgIGQ9Im0gNDcuNTI0NTE5LDEzOC43MTQ2OCAxNC4xMzY0NTMsOC4zOTc0MSIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuNTIzNzUyNzU7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTItNy03IgogICAgICAgZD0ibSA2MC41OTAxMDEsMTE3LjEzMjUxIDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctNCIKICAgICAgIGQ9Im0gNjAuNjU3Mzc0LDEzMS4wOTI3OCAwLjA0ODExLDE2LjQ0MjQyIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM4MDAwMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi01IgogICAgICAgZD0ibSA2MS43NjU1NSwxMzEuNzA4MDEgLTE0LjI2Njg2Nyw4LjE3Mzg2IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03LTEtMyIKICAgICAgIGQ9Im0gNDcuNTYzODksMTI0Ljg0MDg2IDE0LjEzNjQ1Myw4LjM5NzQxIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHRleHQKICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTowLjY3NzAwOTUycHg7bGluZS1oZWlnaHQ6MCU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxO2ZpbHRlcjp1cmwoI2ZpbHRlcjYzKSIKICAgICAgIHg9IjE3Ljk5MjA5NiIKICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgIGlkPSJ0ZXh0NTA5My0xLTQiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSI+PHRzcGFuCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTIuNDI3NjQ1NjhweDtsaW5lLWhlaWdodDoxLjI1O2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNiIKICAgICAgICAgeD0iMTcuOTkyMDk2IgogICAgICAgICB5PSIxNjguOTY2OTUiPjx0c3BhbgogICAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiCiAgICAgICAgICAgaWQ9InRzcGFuNTA5Ny0xLTQiPkFDVElWRTwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICB5PSIxNTguMzA0OTMiCiAgICAgICBpZD0idGV4dDY5MzgtNCIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5Ij48dHNwYW4KICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1LjExNzE5Nzk5cHg7bGluZS1oZWlnaHQ6MS4yNTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweCIKICAgICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgICAgaWQ9InRzcGFuNjk0MC0xIgogICAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICAgIHk9IjE1OC4zMDQ5MyI+QVBBQ0hFPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6I2MxMjc2NjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjE7ZmlsdGVyOnVybCgjZmlsdGVyNTYpIgogICAgICAgeD0iNjcuNzg2ODY1IgogICAgICAgeT0iMTY4Ljk2Njk1IgogICAgICAgaWQ9InRleHQ1MDkzLTEtNC0yLTgtOS00IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNi01LTUtNi0zIgogICAgICAgICB4PSI2Ny43ODY4NjUiCiAgICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMi40Mjc2NDU2OHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiPk1RPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgaWQ9InRleHQzOTYwIgogICAgICAgeT0iMTYwLjY1NzczIgogICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6My4xNzUwMDAwOHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU3ODkzMTsiCiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjA1Nzg5MzE7Zm9udC1zaXplOjMuMTc1MDAwMDhweDsiCiAgICAgICAgIHk9IjE2MC42NTc3MyIKICAgICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgICBpZD0idHNwYW4zOTU4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIj7CrjwvdHNwYW4+PC90ZXh0PgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTM5LjI0MjE5IgogICAgICAgY3g9IjQ4LjMzMzcwNiIKICAgICAgIGlkPSJwYXRoNTU1My03LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTMyLjQ4NTg2IgogICAgICAgY3g9IjYwLjkwMTQxMyIKICAgICAgIGlkPSJwYXRoNTU1My03LTMiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTI1LjQxODY0IgogICAgICAgY3g9IjQ4LjU2MjY0NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTAiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTE4LjQ0NDgyIgogICAgICAgY3g9IjYwLjYzMjA5NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTM5IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "JMS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" camel.apache.org/requires.runtime: camel-k spec: definition: title: "JMS - Apache Artemis Source" description: "Receive data from an Apache Artemis message broker by using JMS." required: - destinationName - brokerURL type: object properties: destinationType: title: "Destination Type" description: "The JMS destination type (queue or topic)." type: string default: queue destinationName: title: "Destination Name" description: "The JMS destination name." type: string brokerURL: title: "Broker URL" description: "The JMS URL." type: string example: "tcp://my-host:61616" dependencies: - "camel:jms" - "camel:kamelet" - "mvn:org.apache.activemq:artemis-jakarta-client-all:2.42.0" template: beans: - name: connectionFactoryBean type: "#class:org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory" properties: brokerURL: '{{brokerURL}}' from: uri: "jms:{{destinationType}}:{{destinationName}}" parameters: connectionFactory: "#bean:{{connectionFactoryBean}}" steps: - to: uri: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jms-ibm-mq-sink annotations: camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA1NzMuMDggNTc2Ljk3Ij4KICAgIDxkZWZzPgogICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgLmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzVhNzdiNTt9LmNscy0ze2ZpbGw6I2FmYmVlMDt9LmNscy00e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aCk7fS5jbHMtNXtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMik7fQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgICAgIGQ9Ik0xNjQuNSw1MTAuODhWNDU3aDQuMDh2NTMuOTFabTQ3Ljc4LTI3LjcxYTEzLjE0LDEzLjE0LDAsMCwxLDkuMjMsMTNjMCw5LjYyLTYuMjgsMTQuNjktMTUuODIsMTQuNjlIMTg1LjI0VjQ1N2gxOS44NGM4Ljk0LDAsMTUuNiw1LjE1LDE1LjYsMTQuMDhhMTIuMzgsMTIuMzgsMCwwLDEtOC40LDEyLjEyWm0tMjIuOTUsMjQuMDhoMTUuOWM3LjM1LDAsMTIuMTktNC4xNywxMi4xOS0xMS4wNnMtNC44NC0xMS4wNS0xMi4xOS0xMS4wNWgtMTUuOXYyMi4xMVptMTUuMy00Ni42NWgtMTUuM3YyMC45aDE1LjNjNi41MSwwLDEyLTMsMTItMTAuNDVzLTUuNDUtMTAuNDUtMTItMTAuNDVabTcyLjYxLDUwLjI4VjQ2Ni40M2wtMTYuMzUsMzYuODhIMjU2LjhsLTE2LjY2LTM2Ljg4djQ0LjQ1aC00LjA5VjQ1N2g0LjA5bDE4Ljc4LDQxLjU3TDI3Ny4yNCw0NTdoNC4wOXY1My45MVoiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPgogICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgICAgIGQ9Ik0zNDkuNyw1MTAuODRWNDc3LjI4aC0uMThsLTEwLjkxLDI1Ljg0SDMzMmwtMTAuOTEtMjUuODRIMzIxdjMzLjU2aC03LjlWNDU3aDcuNDRsMTUsMzUuMDdMMzUwLjEzLDQ1N2g3LjQ2djUzLjgxWm01NC4yLTEwLDYuODgsNS42NS00LjY5LDUuNjEtNi41OC01LjQ0cS00LjYyLDQuNTEtMTIuMyw0LjY2YTE3Ljg5LDE3Ljg5LDAsMCwxLTEwLjI1LTMuMSwxNy43LDE3LjcsMCwwLDEtNi4wOC02LjU3Yy0uMzgtLjgxLS43My0xLjU5LTEtMi4zMmExNS40NSwxNS40NSwwLDAsMS0uNzItMi44OCwxNDUuMjksMTQ1LjI5LDAsMCwxLDAtMjUsMTUuMzgsMTUuMzgsMCwwLDEsMS43NS01LjEzLDE4LjMzLDE4LjMzLDAsMCwxLDYuMDgtNi42NCwxNy40NywxNy40NywwLDAsMSwxMC4yNS0zLDE3Ljc2LDE3Ljc2LDAsMCwxLDEwLjM2LDMsMTgsMTgsMCwwLDEsNS45NCw2LjY0LDEyLjc5LDEyLjc5LDAsMCwxLDEuODIsNS4xMywxMDcuMjMsMTA3LjIzLDAsMCwxLC40NiwxMi41NXEwLDguMzgtLjM2LDExLjdhMTQuNTEsMTQuNTEsMCwwLDEtMS41Myw1LjE3Wm0tNi41NC0yNy43MWExMS4yNiwxMS4yNiwwLDAsMC01LjI2LTcuMjQsMTEuMTgsMTEuMTgsMCwwLDAtNC45MS0xLjE1LDEwLjYzLDEwLjYzLDAsMCwwLTQuOCwxLjE1LDEwLjA5LDEwLjA5LDAsMCwwLTMuMjksMi43Nyw5LDksMCwwLDAtMiw0LjQ4LDY2LjcsNjYuNywwLDAsMC0uNTcsMTAuODMsNjUuNDcsNjUuNDcsMCwwLDAsLjU3LDEwLjc3LDksOSwwLDAsMCwyLDQuNTQsOS40Nyw5LjQ3LDAsMCwwLDMuMjksMi43MSw5LjExLDkuMTEsMCwwLDAsNC44LDEuMjIsOC42Miw4LjYyLDAsMCwwLDUuODQtMS44OWwtNi42Ni01LjQ3LDQuNjktNS41OSw2LjA5LDVxLjc1LTIuNzMuNzUtMTEuMjhhNzAuNiw3MC42LDAsMCwwLS41NC0xMC44NFoiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgPC9kZWZzPgogICAgPHRpdGxlPklCTSBJUTwvdGl0bGU+CiAgICA8Y2lyY2xlIGNsYXNzPSJjbHMtMiIgY3g9IjI4Ny42NCIgY3k9IjI4Ny4yIiByPSIyNzguNSIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0zIgogICAgICAgICAgICAgcG9pbnRzPSI0NTguMTcgNDI2LjY3IDExNy4xMSA0MjYuNjcgMTE3LjExIDE1My41NSA3MC45MSAxNTMuNTUgNzAuOTEgMTMxLjU1IDEzOS4xMSAxMzEuNTUgMTM5LjExIDQwNC42NyA0MzYuMTcgNDA0LjY3IDQzNi4xNyAxMzEuNTUgNTA0LjM3IDEzMS41NSA1MDQuMzcgMTUzLjU1IDQ1OC4xNyAxNTMuNTUgNDU4LjE3IDQyNi42NyIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgcG9pbnRzPSI0MjAuMjYgMjUzLjEyIDQyMC4yNiAyNDEuNzcgMTU1LjAyIDI0MS43NyAxNTUuMDIgMjUyLjg1IDI4Ny44OCAzMjkuNDkgNDIwLjI2IDI1My4xMiIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgcG9pbnRzPSIyODcuODggMzM5Ljc1IDE1NS4wMiAyNjMuMTEgMTU1LjAyIDM4OC44NCA0MjAuMjYgMzg4Ljg0IDQyMC4yNiAyNjMuMzggMjg3Ljg4IDMzOS43NSIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTE2NC41LDUxMC44OFY0NTdoNC4wOHY1My45MVptNDcuNzgtMjcuNzFhMTMuMTQsMTMuMTQsMCwwLDEsOS4yMywxM2MwLDkuNjItNi4yOCwxNC42OS0xNS44MiwxNC42OUgxODUuMjRWNDU3aDE5Ljg0YzguOTQsMCwxNS42LDUuMTUsMTUuNiwxNC4wOGExMi4zOCwxMi4zOCwwLDAsMS04LjQsMTIuMTJabS0yMi45NSwyNC4wOGgxNS45YzcuMzUsMCwxMi4xOS00LjE3LDEyLjE5LTExLjA2cy00Ljg0LTExLjA1LTEyLjE5LTExLjA1aC0xNS45djIyLjExWm0xNS4zLTQ2LjY1aC0xNS4zdjIwLjloMTUuM2M2LjUxLDAsMTItMywxMi0xMC40NXMtNS40NS0xMC40NS0xMi0xMC40NVptNzIuNjEsNTAuMjhWNDY2LjQzbC0xNi4zNSwzNi44OEgyNTYuOGwtMTYuNjYtMzYuODh2NDQuNDVoLTQuMDlWNDU3aDQuMDlsMTguNzgsNDEuNTdMMjc3LjI0LDQ1N2g0LjA5djUzLjkxWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTM0OS43LDUxMC44NFY0NzcuMjhoLS4xOGwtMTAuOTEsMjUuODRIMzMybC0xMC45MS0yNS44NEgzMjF2MzMuNTZoLTcuOVY0NTdoNy40NGwxNSwzNS4wN0wzNTAuMTMsNDU3aDcuNDZ2NTMuODFabTU0LjItMTAsNi44OCw1LjY1LTQuNjksNS42MS02LjU4LTUuNDRxLTQuNjIsNC41MS0xMi4zLDQuNjZhMTcuODksMTcuODksMCwwLDEtMTAuMjUtMy4xLDE3LjcsMTcuNywwLDAsMS02LjA4LTYuNTdjLS4zOC0uODEtLjczLTEuNTktMS0yLjMyYTE1LjQ1LDE1LjQ1LDAsMCwxLS43Mi0yLjg4LDE0NS4yOSwxNDUuMjksMCwwLDEsMC0yNSwxNS4zOCwxNS4zOCwwLDAsMSwxLjc1LTUuMTMsMTguMzMsMTguMzMsMCwwLDEsNi4wOC02LjY0LDE3LjQ3LDE3LjQ3LDAsMCwxLDEwLjI1LTMsMTcuNzYsMTcuNzYsMCwwLDEsMTAuMzYsMywxOCwxOCwwLDAsMSw1Ljk0LDYuNjQsMTIuNzksMTIuNzksMCwwLDEsMS44Miw1LjEzLDEwNy4yMywxMDcuMjMsMCwwLDEsLjQ2LDEyLjU1cTAsOC4zOC0uMzYsMTEuN2ExNC41MSwxNC41MSwwLDAsMS0xLjUzLDUuMTdabS02LjU0LTI3LjcxYTExLjI2LDExLjI2LDAsMCwwLTUuMjYtNy4yNCwxMS4xOCwxMS4xOCwwLDAsMC00LjkxLTEuMTUsMTAuNjMsMTAuNjMsMCwwLDAtNC44LDEuMTUsMTAuMDksMTAuMDksMCwwLDAtMy4yOSwyLjc3LDksOSwwLDAsMC0yLDQuNDgsNjYuNyw2Ni43LDAsMCwwLS41NywxMC44Myw2NS40Nyw2NS40NywwLDAsMCwuNTcsMTAuNzcsOSw5LDAsMCwwLDIsNC41NCw5LjQ3LDkuNDcsMCwwLDAsMy4yOSwyLjcxLDkuMTEsOS4xMSwwLDAsMCw0LjgsMS4yMiw4LjYyLDguNjIsMCwwLDAsNS44NC0xLjg5bC02LjY2LTUuNDcsNC42OS01LjU5LDYuMDksNXEuNzUtMi43My43NS0xMS4yOGE3MC42LDcwLjYsMCwwLDAtLjU0LTEwLjg0WiIvPgo8L3N2Zz4=" camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "JMS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" camel.apache.org/requires.runtime: camel-k spec: definition: title: "JMS - IBM MQ Sink" description: A Kamelet that can produce events to an IBM MQ message queue using JMS. required: - serverName - serverPort - destinationName - queueManager - channel - username - password type: object properties: serverName: title: "IBM MQ Server name" description: "IBM MQ Server name or address." type: string serverPort: title: "IBM MQ Server Port" description: "IBM MQ Server port." type: integer default: 1414 destinationType: title: "Destination Type" description: "The JMS destination type (queue or topic)." type: string default: queue destinationName: title: "Destination Name" description: "The destination name." type: string queueManager: title: "IBM MQ Queue Manager" description: "Name of the IBM MQ Queue Manager." type: string channel: title: "IBM MQ Channel" description: "Name of the IBM MQ Channel." type: string clientId: title: "IBM MQ Client ID" description: "Name of the IBM MQ Client ID." type: string username: title: "Username" description: "Username to authenticate to IBM MQ server." type: string password: title: "Password" description: "Password to authenticate to IBM MQ server." type: string format: password x-descriptors: - urn:camel:group:credentials sslCipherSuite: title: "CipherSuite" description: "CipherSuite to use for enabling TLS." type: string dependencies: - "camel:jms" - "camel:kamelet" template: beans: - name: wmqConnectionFactory type: "#class:com.ibm.mq.jakarta.jms.MQConnectionFactory" properties: XMSC_WMQ_HOST_NAME: '{{serverName}}' XMSC_WMQ_PORT: '{{serverPort}}' XMSC_WMQ_CHANNEL: '{{channel}}' XMSC_WMQ_QUEUE_MANAGER: '{{queueManager}}' XMSC_WMQ_CONNECTION_MODE: 1 XMSC_USERID: '{{username}}' XMSC_PASSWORD: '{{password}}' XMSC_CLIENT_ID: '{{?clientId}}' XMSC_WMQ_SSL_CIPHER_SUITE: '{{?sslCipherSuite}}' from: uri: "kamelet:source" steps: - to: uri: "jms:{{destinationType}}:{{destinationName}}" parameters: connectionFactory: "#bean:{{wmqConnectionFactory}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jms-ibm-mq-source annotations: camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogICAgIHZpZXdCb3g9IjAgMCA1NzMuMDggNTc2Ljk3Ij4KICAgIDxkZWZzPgogICAgICAgIDxzdHlsZT4KICAgICAgICAgICAgLmNscy0xe2ZpbGw6I2ZmZjt9LmNscy0ye2ZpbGw6IzVhNzdiNTt9LmNscy0ze2ZpbGw6I2FmYmVlMDt9LmNscy00e2NsaXAtcGF0aDp1cmwoI2NsaXAtcGF0aCk7fS5jbHMtNXtjbGlwLXBhdGg6dXJsKCNjbGlwLXBhdGgtMik7fQogICAgICAgIDwvc3R5bGU+CiAgICAgICAgPGNsaXBQYXRoIGlkPSJjbGlwLXBhdGgiPgogICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgICAgIGQ9Ik0xNjQuNSw1MTAuODhWNDU3aDQuMDh2NTMuOTFabTQ3Ljc4LTI3LjcxYTEzLjE0LDEzLjE0LDAsMCwxLDkuMjMsMTNjMCw5LjYyLTYuMjgsMTQuNjktMTUuODIsMTQuNjlIMTg1LjI0VjQ1N2gxOS44NGM4Ljk0LDAsMTUuNiw1LjE1LDE1LjYsMTQuMDhhMTIuMzgsMTIuMzgsMCwwLDEtOC40LDEyLjEyWm0tMjIuOTUsMjQuMDhoMTUuOWM3LjM1LDAsMTIuMTktNC4xNywxMi4xOS0xMS4wNnMtNC44NC0xMS4wNS0xMi4xOS0xMS4wNWgtMTUuOXYyMi4xMVptMTUuMy00Ni42NWgtMTUuM3YyMC45aDE1LjNjNi41MSwwLDEyLTMsMTItMTAuNDVzLTUuNDUtMTAuNDUtMTItMTAuNDVabTcyLjYxLDUwLjI4VjQ2Ni40M2wtMTYuMzUsMzYuODhIMjU2LjhsLTE2LjY2LTM2Ljg4djQ0LjQ1aC00LjA5VjQ1N2g0LjA5bDE4Ljc4LDQxLjU3TDI3Ny4yNCw0NTdoNC4wOXY1My45MVoiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgICAgIDxjbGlwUGF0aCBpZD0iY2xpcC1wYXRoLTIiPgogICAgICAgICAgICA8cGF0aCBjbGFzcz0iY2xzLTEiCiAgICAgICAgICAgICAgICAgIGQ9Ik0zNDkuNyw1MTAuODRWNDc3LjI4aC0uMThsLTEwLjkxLDI1Ljg0SDMzMmwtMTAuOTEtMjUuODRIMzIxdjMzLjU2aC03LjlWNDU3aDcuNDRsMTUsMzUuMDdMMzUwLjEzLDQ1N2g3LjQ2djUzLjgxWm01NC4yLTEwLDYuODgsNS42NS00LjY5LDUuNjEtNi41OC01LjQ0cS00LjYyLDQuNTEtMTIuMyw0LjY2YTE3Ljg5LDE3Ljg5LDAsMCwxLTEwLjI1LTMuMSwxNy43LDE3LjcsMCwwLDEtNi4wOC02LjU3Yy0uMzgtLjgxLS43My0xLjU5LTEtMi4zMmExNS40NSwxNS40NSwwLDAsMS0uNzItMi44OCwxNDUuMjksMTQ1LjI5LDAsMCwxLDAtMjUsMTUuMzgsMTUuMzgsMCwwLDEsMS43NS01LjEzLDE4LjMzLDE4LjMzLDAsMCwxLDYuMDgtNi42NCwxNy40NywxNy40NywwLDAsMSwxMC4yNS0zLDE3Ljc2LDE3Ljc2LDAsMCwxLDEwLjM2LDMsMTgsMTgsMCwwLDEsNS45NCw2LjY0LDEyLjc5LDEyLjc5LDAsMCwxLDEuODIsNS4xMywxMDcuMjMsMTA3LjIzLDAsMCwxLC40NiwxMi41NXEwLDguMzgtLjM2LDExLjdhMTQuNTEsMTQuNTEsMCwwLDEtMS41Myw1LjE3Wm0tNi41NC0yNy43MWExMS4yNiwxMS4yNiwwLDAsMC01LjI2LTcuMjQsMTEuMTgsMTEuMTgsMCwwLDAtNC45MS0xLjE1LDEwLjYzLDEwLjYzLDAsMCwwLTQuOCwxLjE1LDEwLjA5LDEwLjA5LDAsMCwwLTMuMjksMi43Nyw5LDksMCwwLDAtMiw0LjQ4LDY2LjcsNjYuNywwLDAsMC0uNTcsMTAuODMsNjUuNDcsNjUuNDcsMCwwLDAsLjU3LDEwLjc3LDksOSwwLDAsMCwyLDQuNTQsOS40Nyw5LjQ3LDAsMCwwLDMuMjksMi43MSw5LjExLDkuMTEsMCwwLDAsNC44LDEuMjIsOC42Miw4LjYyLDAsMCwwLDUuODQtMS44OWwtNi42Ni01LjQ3LDQuNjktNS41OSw2LjA5LDVxLjc1LTIuNzMuNzUtMTEuMjhhNzAuNiw3MC42LDAsMCwwLS41NC0xMC44NFoiLz4KICAgICAgICA8L2NsaXBQYXRoPgogICAgPC9kZWZzPgogICAgPHRpdGxlPklCTSBJUTwvdGl0bGU+CiAgICA8Y2lyY2xlIGNsYXNzPSJjbHMtMiIgY3g9IjI4Ny42NCIgY3k9IjI4Ny4yIiByPSIyNzguNSIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0zIgogICAgICAgICAgICAgcG9pbnRzPSI0NTguMTcgNDI2LjY3IDExNy4xMSA0MjYuNjcgMTE3LjExIDE1My41NSA3MC45MSAxNTMuNTUgNzAuOTEgMTMxLjU1IDEzOS4xMSAxMzEuNTUgMTM5LjExIDQwNC42NyA0MzYuMTcgNDA0LjY3IDQzNi4xNyAxMzEuNTUgNTA0LjM3IDEzMS41NSA1MDQuMzcgMTUzLjU1IDQ1OC4xNyAxNTMuNTUgNDU4LjE3IDQyNi42NyIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgcG9pbnRzPSI0MjAuMjYgMjUzLjEyIDQyMC4yNiAyNDEuNzcgMTU1LjAyIDI0MS43NyAxNTUuMDIgMjUyLjg1IDI4Ny44OCAzMjkuNDkgNDIwLjI2IDI1My4xMiIvPgogICAgPHBvbHlnb24gY2xhc3M9ImNscy0xIgogICAgICAgICAgICAgcG9pbnRzPSIyODcuODggMzM5Ljc1IDE1NS4wMiAyNjMuMTEgMTU1LjAyIDM4OC44NCA0MjAuMjYgMzg4Ljg0IDQyMC4yNiAyNjMuMzggMjg3Ljg4IDMzOS43NSIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTE2NC41LDUxMC44OFY0NTdoNC4wOHY1My45MVptNDcuNzgtMjcuNzFhMTMuMTQsMTMuMTQsMCwwLDEsOS4yMywxM2MwLDkuNjItNi4yOCwxNC42OS0xNS44MiwxNC42OUgxODUuMjRWNDU3aDE5Ljg0YzguOTQsMCwxNS42LDUuMTUsMTUuNiwxNC4wOGExMi4zOCwxMi4zOCwwLDAsMS04LjQsMTIuMTJabS0yMi45NSwyNC4wOGgxNS45YzcuMzUsMCwxMi4xOS00LjE3LDEyLjE5LTExLjA2cy00Ljg0LTExLjA1LTEyLjE5LTExLjA1aC0xNS45djIyLjExWm0xNS4zLTQ2LjY1aC0xNS4zdjIwLjloMTUuM2M2LjUxLDAsMTItMywxMi0xMC40NXMtNS40NS0xMC40NS0xMi0xMC40NVptNzIuNjEsNTAuMjhWNDY2LjQzbC0xNi4zNSwzNi44OEgyNTYuOGwtMTYuNjYtMzYuODh2NDQuNDVoLTQuMDlWNDU3aDQuMDlsMTguNzgsNDEuNTdMMjc3LjI0LDQ1N2g0LjA5djUzLjkxWiIvPgogICAgPHBhdGggY2xhc3M9ImNscy0xIgogICAgICAgICAgZD0iTTM0OS43LDUxMC44NFY0NzcuMjhoLS4xOGwtMTAuOTEsMjUuODRIMzMybC0xMC45MS0yNS44NEgzMjF2MzMuNTZoLTcuOVY0NTdoNy40NGwxNSwzNS4wN0wzNTAuMTMsNDU3aDcuNDZ2NTMuODFabTU0LjItMTAsNi44OCw1LjY1LTQuNjksNS42MS02LjU4LTUuNDRxLTQuNjIsNC41MS0xMi4zLDQuNjZhMTcuODksMTcuODksMCwwLDEtMTAuMjUtMy4xLDE3LjcsMTcuNywwLDAsMS02LjA4LTYuNTdjLS4zOC0uODEtLjczLTEuNTktMS0yLjMyYTE1LjQ1LDE1LjQ1LDAsMCwxLS43Mi0yLjg4LDE0NS4yOSwxNDUuMjksMCwwLDEsMC0yNSwxNS4zOCwxNS4zOCwwLDAsMSwxLjc1LTUuMTMsMTguMzMsMTguMzMsMCwwLDEsNi4wOC02LjY0LDE3LjQ3LDE3LjQ3LDAsMCwxLDEwLjI1LTMsMTcuNzYsMTcuNzYsMCwwLDEsMTAuMzYsMywxOCwxOCwwLDAsMSw1Ljk0LDYuNjQsMTIuNzksMTIuNzksMCwwLDEsMS44Miw1LjEzLDEwNy4yMywxMDcuMjMsMCwwLDEsLjQ2LDEyLjU1cTAsOC4zOC0uMzYsMTEuN2ExNC41MSwxNC41MSwwLDAsMS0xLjUzLDUuMTdabS02LjU0LTI3LjcxYTExLjI2LDExLjI2LDAsMCwwLTUuMjYtNy4yNCwxMS4xOCwxMS4xOCwwLDAsMC00LjkxLTEuMTUsMTAuNjMsMTAuNjMsMCwwLDAtNC44LDEuMTUsMTAuMDksMTAuMDksMCwwLDAtMy4yOSwyLjc3LDksOSwwLDAsMC0yLDQuNDgsNjYuNyw2Ni43LDAsMCwwLS41NywxMC44Myw2NS40Nyw2NS40NywwLDAsMCwuNTcsMTAuNzcsOSw5LDAsMCwwLDIsNC41NCw5LjQ3LDkuNDcsMCwwLDAsMy4yOSwyLjcxLDkuMTEsOS4xMSwwLDAsMCw0LjgsMS4yMiw4LjYyLDguNjIsMCwwLDAsNS44NC0xLjg5bC02LjY2LTUuNDcsNC42OS01LjU5LDYuMDksNXEuNzUtMi43My43NS0xMS4yOGE3MC42LDcwLjYsMCwwLDAtLjU0LTEwLjg0WiIvPgo8L3N2Zz4=" camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "JMS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" camel.apache.org/requires.runtime: camel-k spec: definition: title: "JMS - IBM MQ Source" description: A Kamelet that can read events from an IBM MQ message queue using JMS. required: - serverName - serverPort - destinationName - queueManager - channel - username - password type: object properties: serverName: title: "IBM MQ Server name" description: "IBM MQ Server name or address." type: string serverPort: title: "IBM MQ Server Port" description: "IBM MQ Server port." type: integer default: 1414 destinationType: title: "Destination Type" description: "The JMS destination type (queue or topic)." type: string default: queue destinationName: title: "Destination Name" description: "The destination name." type: string queueManager: title: "IBM MQ Queue Manager" description: "Name of the IBM MQ Queue Manager." type: string channel: title: "IBM MQ Channel" description: "Name of the IBM MQ Channel." type: string clientId: title: "IBM MQ Client ID" description: "Name of the IBM MQ Client ID." type: string username: title: "Username" description: "Username to authenticate to IBM MQ server." type: string password: title: "Password" description: "Password to authenticate to IBM MQ server." type: string format: password x-descriptors: - urn:camel:group:credentials sslCipherSuite: title: "CipherSuite" description: "CipherSuite to use for enabling TLS." type: string dependencies: - "camel:jms" - "camel:kamelet" template: beans: - name: wmqConnectionFactory type: "#class:com.ibm.mq.jakarta.jms.MQConnectionFactory" properties: XMSC_WMQ_HOST_NAME: '{{serverName}}' XMSC_WMQ_PORT: '{{serverPort}}' XMSC_WMQ_CHANNEL: '{{channel}}' XMSC_WMQ_QUEUE_MANAGER: '{{queueManager}}' XMSC_WMQ_CONNECTION_MODE: 1 XMSC_USERID: '{{username}}' XMSC_PASSWORD: '{{password}}' XMSC_CLIENT_ID: '{{?clientId}}' XMSC_WMQ_SSL_CIPHER_SUITE: '{{?sslCipherSuite}}' from: uri: "jms:{{destinationType}}:{{destinationName}}" parameters: connectionFactory: "#bean:{{wmqConnectionFactory}}" steps: - to: uri: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jms-pooled-apache-artemis-sink annotations: camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iOTQuNTY2OTFtbSIKICAgaGVpZ2h0PSI4My44MzA0NDRtbSIKICAgdmlld0JveD0iMCAwIDk0LjU2NjkxIDgzLjgzMDQ0NCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDM5MCI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSIyLjgiCiAgICAgaW5rc2NhcGU6Y3g9IjI0LjE0MTM0OSIKICAgICBpbmtzY2FwZTpjeT0iMjAxLjA3Njk3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMzg0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIyMDU2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5lPSJ0cnVlIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9InRydWUiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIyMCIKICAgICBpbmtzY2FwZTpzbmFwLW9iamVjdC1taWRwb2ludHM9InRydWUiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0Mzg0Ij4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQiIKICAgICAgIGlua3NjYXBlOmxhYmVsPSJEcm9wIFNoYWRvdyIKICAgICAgIGlkPSJmaWx0ZXI1NTI5Ij4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDU1MTkiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjEiIC8+CiAgICAgIDxmZUdhdXNzaWFuQmx1cgogICAgICAgICBpbj0iY29tcG9zaXRlMSIKICAgICAgICAgc3RkRGV2aWF0aW9uPSIwLjIiCiAgICAgICAgIHJlc3VsdD0iYmx1ciIKICAgICAgICAgaWQ9ImZlR2F1c3NpYW5CbHVyNTUyMyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU1MjUiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjciIC8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQjsiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iRHJvcCBTaGFkb3ciCiAgICAgICBpZD0iZmlsdGVyNTYiPgogICAgICA8ZmVGbG9vZAogICAgICAgICBmbG9vZC1vcGFjaXR5PSIwLjQ5ODAzOSIKICAgICAgICAgZmxvb2QtY29sb3I9InJnYigwLDAsMCkiCiAgICAgICAgIHJlc3VsdD0iZmxvb2QiCiAgICAgICAgIGlkPSJmZUZsb29kNDYiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTQ4IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgaW49ImNvbXBvc2l0ZTEiCiAgICAgICAgIHN0ZERldmlhdGlvbj0iMC4xIgogICAgICAgICByZXN1bHQ9ImJsdXIiCiAgICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjUwIiAvPgogICAgICA8ZmVPZmZzZXQKICAgICAgICAgZHg9IjEiCiAgICAgICAgIGR5PSIxIgogICAgICAgICByZXN1bHQ9Im9mZnNldCIKICAgICAgICAgaWQ9ImZlT2Zmc2V0NTIiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU0IiAvPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyCiAgICAgICBzdHlsZT0iY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOnNSR0I7IgogICAgICAgaW5rc2NhcGU6bGFiZWw9IkRyb3AgU2hhZG93IgogICAgICAgaWQ9ImZpbHRlcjYzIj4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDUyIiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49ImZsb29kIgogICAgICAgICBpbjI9IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIG9wZXJhdG9yPSJpbiIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUxIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU1NSIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyCiAgICAgICAgIGluPSJjb21wb3NpdGUxIgogICAgICAgICBzdGREZXZpYXRpb249IjAuMSIKICAgICAgICAgcmVzdWx0PSJibHVyIgogICAgICAgICBpZD0iZmVHYXVzc2lhbkJsdXI1NyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU5IiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIGluMj0ib2Zmc2V0IgogICAgICAgICBvcGVyYXRvcj0ib3ZlciIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUyIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU2MSIgLz4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0Mzg3Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZSAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMiIKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMiIKICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTguMDUyNzc3OCwtOTYuOTUwODk0KSI+CiAgICA8ZwogICAgICAgaWQ9Imc1MDczIgogICAgICAgc3R5bGU9ImZpbHRlcjp1cmwoI2ZpbHRlcjU1MjkpIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNjk3MTkzLDE1My41NTE4MSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDYgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzU5OSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjE0Ni4yOTQzNCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjU2MzgwMSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4MyIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjMyMTM3LDE0Ni41NTMwOSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzUgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwNCIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEzOS4yOTU2MiIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjQ5ODc0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00IgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD0iMy4zNTY0NDcyZS0wNiIKICAgICAgICAgZD0ibSA2NC43NzEyNjMsMTM5LjU4ODg5IC04LjM1MTg0OCwtMC4wNDkxIC00LjEzMzM5MiwtNy4yNTc0NyA0LjIxODQ1NSwtNy4yMDgzNiA4LjM1MTg0OSwwLjA0OTEgNC4xMzMzOTIsNy4yNTc0NyB6IgogICAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuNTc2Njc2NiIKICAgICAgICAgc29kaXBvZGk6YXJnMT0iMS4wNTMwNzc4IgogICAgICAgICBzb2RpcG9kaTpyMj0iNi4wNDczNjA5IgogICAgICAgICBzb2RpcG9kaTpyMT0iOC4zNTE5OTI2IgogICAgICAgICBzb2RpcG9kaTpjeT0iMTMyLjMzMTQyIgogICAgICAgICBzb2RpcG9kaTpjeD0iNjAuNjM3ODcxIgogICAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgICAgaWQ9InBhdGg0ODgzLTQtMiIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNzY1NDg4LDEyNS43MDIyOCAtOC4zNTE4NDksLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkzLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjExOC40NDQ4MSIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjYzMjA5NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMCIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjk2MDM3LDEzMi42NzYxMSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEyNS40MTg2NCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjU2MjY0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMC0wIgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOC4wNTI3Nzc4LC05Ni45NTA4OTQpIj4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMDMxMDU1LDYzLjc5NTc3NikiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wMi05IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNjMTI3NjY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjE3MDE3OSw3MC43NTk5ODUpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC01LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6IzNlNDg5ZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MTU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii05Ni43ODY0NjUiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjE5OC4xMDMzNSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMTA2NDksNzcuNzU4MjkzKSIKICAgICAgIGQ9Im0gMTg0OS4xMzg3LDY0MC4zNTI1MiAtOTYuODI0MiwyMC41NTgwMiAtNjYuMjE1OCwtNzMuNTczMTYgMzAuNjA4MywtOTQuMTMxMTggOTYuODI0MiwtMjAuNTU4MDIgNjYuMjE1OCw3My41NzMxNiB6IgogICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICBzb2RpcG9kaTphcmcyPSIxLjM2MTU4IgogICAgICAgc29kaXBvZGk6YXJnMT0iMC44Mzc5ODEyMyIKICAgICAgIHNvZGlwb2RpOnIyPSI0OS40OTEyOCIKICAgICAgIHNvZGlwb2RpOnIxPSI5OC45ODI1NTkiCiAgICAgICBzb2RpcG9kaTpjeT0iNTY2Ljc3OTM2IgogICAgICAgc29kaXBvZGk6Y3g9IjE3ODIuOTIyOSIKICAgICAgIHNvZGlwb2RpOnNpZGVzPSI2IgogICAgICAgaWQ9InBhdGg1MDE5LTQtMS0yIgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3MTQwOTk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjEwNjI4MSw1Ni44ODI5OSkiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wLTQtOS04IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3ODkzMmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTU5LjAzNjgyOCw0OS45MDkxNjcpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC0wLTctOSIKICAgICAgIHN0eWxlPSJvcGFjaXR5OjE7ZmlsbDojY2YyNDJhO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTQ2LjI5NDM0IgogICAgICAgY3g9IjYwLjU2MzgwMSIKICAgICAgIGlkPSJwYXRoNTU1My03IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTIiCiAgICAgICBkPSJNIDYxLjc0NzY1NywxMTcuNzEwMzkgNDcuNDgwNzksMTI1Ljg4NDI0IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03IgogICAgICAgZD0ibSA0OC41MTM2MjcsMTI0LjE5Njc1IDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctMSIKICAgICAgIGQ9Im0gNDcuNTI0NTE5LDEzOC43MTQ2OCAxNC4xMzY0NTMsOC4zOTc0MSIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuNTIzNzUyNzU7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTItNy03IgogICAgICAgZD0ibSA2MC41OTAxMDEsMTE3LjEzMjUxIDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctNCIKICAgICAgIGQ9Im0gNjAuNjU3Mzc0LDEzMS4wOTI3OCAwLjA0ODExLDE2LjQ0MjQyIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM4MDAwMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi01IgogICAgICAgZD0ibSA2MS43NjU1NSwxMzEuNzA4MDEgLTE0LjI2Njg2Nyw4LjE3Mzg2IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03LTEtMyIKICAgICAgIGQ9Im0gNDcuNTYzODksMTI0Ljg0MDg2IDE0LjEzNjQ1Myw4LjM5NzQxIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHRleHQKICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTowLjY3NzAwOTUycHg7bGluZS1oZWlnaHQ6MCU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxO2ZpbHRlcjp1cmwoI2ZpbHRlcjYzKSIKICAgICAgIHg9IjE3Ljk5MjA5NiIKICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgIGlkPSJ0ZXh0NTA5My0xLTQiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSI+PHRzcGFuCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTIuNDI3NjQ1NjhweDtsaW5lLWhlaWdodDoxLjI1O2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNiIKICAgICAgICAgeD0iMTcuOTkyMDk2IgogICAgICAgICB5PSIxNjguOTY2OTUiPjx0c3BhbgogICAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiCiAgICAgICAgICAgaWQ9InRzcGFuNTA5Ny0xLTQiPkFDVElWRTwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICB5PSIxNTguMzA0OTMiCiAgICAgICBpZD0idGV4dDY5MzgtNCIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5Ij48dHNwYW4KICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1LjExNzE5Nzk5cHg7bGluZS1oZWlnaHQ6MS4yNTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweCIKICAgICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgICAgaWQ9InRzcGFuNjk0MC0xIgogICAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICAgIHk9IjE1OC4zMDQ5MyI+QVBBQ0hFPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6I2MxMjc2NjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjE7ZmlsdGVyOnVybCgjZmlsdGVyNTYpIgogICAgICAgeD0iNjcuNzg2ODY1IgogICAgICAgeT0iMTY4Ljk2Njk1IgogICAgICAgaWQ9InRleHQ1MDkzLTEtNC0yLTgtOS00IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNi01LTUtNi0zIgogICAgICAgICB4PSI2Ny43ODY4NjUiCiAgICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMi40Mjc2NDU2OHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiPk1RPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgaWQ9InRleHQzOTYwIgogICAgICAgeT0iMTYwLjY1NzczIgogICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6My4xNzUwMDAwOHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU3ODkzMTsiCiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjA1Nzg5MzE7Zm9udC1zaXplOjMuMTc1MDAwMDhweDsiCiAgICAgICAgIHk9IjE2MC42NTc3MyIKICAgICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgICBpZD0idHNwYW4zOTU4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIj7CrjwvdHNwYW4+PC90ZXh0PgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTM5LjI0MjE5IgogICAgICAgY3g9IjQ4LjMzMzcwNiIKICAgICAgIGlkPSJwYXRoNTU1My03LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTMyLjQ4NTg2IgogICAgICAgY3g9IjYwLjkwMTQxMyIKICAgICAgIGlkPSJwYXRoNTU1My03LTMiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTI1LjQxODY0IgogICAgICAgY3g9IjQ4LjU2MjY0NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTAiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTE4LjQ0NDgyIgogICAgICAgY3g9IjYwLjYzMjA5NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTM5IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "JMS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" camel.apache.org/requires.runtime: camel-k spec: definition: title: "JMS Pooled - Apache Artemis Sink" description: "Send data to an Apache Artemis message broker by using JMS Pooled." required: - destinationName - brokerURL type: object properties: destinationType: title: "Destination Type" description: "The JMS destination type (queue or topic)." type: string default: queue destinationName: title: "Destination Name" description: "The JMS destination name." type: string example: person brokerURL: title: "Broker URL" description: "The JMS URL." type: string example: "tcp://my-host:61616" username: title: "Broker Username" description: "The JMS Broker Username." type: string x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required password: title: "Broker Password" description: "The JMS Broker Password." type: string x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required maxSessionsPerConnection: title: "Max Sessions Per Connection" description: "The maximum number of pooled sessions per connection in the pool." type: integer default: 500 maxIdleSessionsPerConnection: title: "Max Idle Sessions Per Connection" description: "The number of idle sessions allowed per connection before they are closed." type: integer default: 500 connectionIdleTimeout: title: "Connection Idle Timeout" description: "The maximum time a pooled Connection can sit unused before it is eligible for removal (in milliseconds)." type: integer default: 30000 dependencies: - "camel:jms" - "camel:kamelet" - "mvn:org.apache.activemq:artemis-jakarta-client-all:2.42.0" - "mvn:org.messaginghub:pooled-jms:3.1.7" template: beans: - name: connectionFactoryBean type: "#class:org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory" properties: brokerURL: '{{brokerURL}}' user: '{{?username}}' password: '{{?password}}' - name: pooledFactoryBean type: "#class:org.messaginghub.pooled.jms.JmsPoolConnectionFactory" properties: connectionFactory: '#bean:{{connectionFactoryBean}}' maxSessionsPerConnection: "{{maxSessionsPerConnection}}" maxIdleSessionsPerConnection: "{{maxIdleSessionsPerConnection}}" connectionIdleTimeout: "{{connectionIdleTimeout}}" from: uri: "kamelet:source" steps: - to: uri: "jms:{{destinationType}}:{{destinationName}}" parameters: connectionFactory: "#bean:{{pooledFactoryBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jms-pooled-apache-artemis-source annotations: camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iOTQuNTY2OTFtbSIKICAgaGVpZ2h0PSI4My44MzA0NDRtbSIKICAgdmlld0JveD0iMCAwIDk0LjU2NjkxIDgzLjgzMDQ0NCIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnNDM5MCI+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp6b29tPSIyLjgiCiAgICAgaW5rc2NhcGU6Y3g9IjI0LjE0MTM0OSIKICAgICBpbmtzY2FwZTpjeT0iMjAxLjA3Njk3IgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJtbSIKICAgICBpbmtzY2FwZTpjdXJyZW50LWxheWVyPSJsYXllcjEiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtcm90YXRpb249IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMzg0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIyMDU2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6c25hcC10ZXh0LWJhc2VsaW5lPSJ0cnVlIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9InRydWUiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIyMCIKICAgICBpbmtzY2FwZTpzbmFwLW9iamVjdC1taWRwb2ludHM9InRydWUiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxkZWZzCiAgICAgaWQ9ImRlZnM0Mzg0Ij4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQiIKICAgICAgIGlua3NjYXBlOmxhYmVsPSJEcm9wIFNoYWRvdyIKICAgICAgIGlkPSJmaWx0ZXI1NTI5Ij4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDU1MTkiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjEiIC8+CiAgICAgIDxmZUdhdXNzaWFuQmx1cgogICAgICAgICBpbj0iY29tcG9zaXRlMSIKICAgICAgICAgc3RkRGV2aWF0aW9uPSIwLjIiCiAgICAgICAgIHJlc3VsdD0iYmx1ciIKICAgICAgICAgaWQ9ImZlR2F1c3NpYW5CbHVyNTUyMyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU1MjUiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU1MjciIC8+CiAgICA8L2ZpbHRlcj4KICAgIDxmaWx0ZXIKICAgICAgIHN0eWxlPSJjb2xvci1pbnRlcnBvbGF0aW9uLWZpbHRlcnM6c1JHQjsiCiAgICAgICBpbmtzY2FwZTpsYWJlbD0iRHJvcCBTaGFkb3ciCiAgICAgICBpZD0iZmlsdGVyNTYiPgogICAgICA8ZmVGbG9vZAogICAgICAgICBmbG9vZC1vcGFjaXR5PSIwLjQ5ODAzOSIKICAgICAgICAgZmxvb2QtY29sb3I9InJnYigwLDAsMCkiCiAgICAgICAgIHJlc3VsdD0iZmxvb2QiCiAgICAgICAgIGlkPSJmZUZsb29kNDYiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iZmxvb2QiCiAgICAgICAgIGluMj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgb3BlcmF0b3I9ImluIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTEiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTQ4IiAvPgogICAgICA8ZmVHYXVzc2lhbkJsdXIKICAgICAgICAgaW49ImNvbXBvc2l0ZTEiCiAgICAgICAgIHN0ZERldmlhdGlvbj0iMC4xIgogICAgICAgICByZXN1bHQ9ImJsdXIiCiAgICAgICAgIGlkPSJmZUdhdXNzaWFuQmx1cjUwIiAvPgogICAgICA8ZmVPZmZzZXQKICAgICAgICAgZHg9IjEiCiAgICAgICAgIGR5PSIxIgogICAgICAgICByZXN1bHQ9Im9mZnNldCIKICAgICAgICAgaWQ9ImZlT2Zmc2V0NTIiIC8+CiAgICAgIDxmZUNvbXBvc2l0ZQogICAgICAgICBpbj0iU291cmNlR3JhcGhpYyIKICAgICAgICAgaW4yPSJvZmZzZXQiCiAgICAgICAgIG9wZXJhdG9yPSJvdmVyIgogICAgICAgICByZXN1bHQ9ImNvbXBvc2l0ZTIiCiAgICAgICAgIGlkPSJmZUNvbXBvc2l0ZTU0IiAvPgogICAgPC9maWx0ZXI+CiAgICA8ZmlsdGVyCiAgICAgICBzdHlsZT0iY29sb3ItaW50ZXJwb2xhdGlvbi1maWx0ZXJzOnNSR0I7IgogICAgICAgaW5rc2NhcGU6bGFiZWw9IkRyb3AgU2hhZG93IgogICAgICAgaWQ9ImZpbHRlcjYzIj4KICAgICAgPGZlRmxvb2QKICAgICAgICAgZmxvb2Qtb3BhY2l0eT0iMC40OTgwMzkiCiAgICAgICAgIGZsb29kLWNvbG9yPSJyZ2IoMCwwLDApIgogICAgICAgICByZXN1bHQ9ImZsb29kIgogICAgICAgICBpZD0iZmVGbG9vZDUyIiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49ImZsb29kIgogICAgICAgICBpbjI9IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIG9wZXJhdG9yPSJpbiIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUxIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU1NSIgLz4KICAgICAgPGZlR2F1c3NpYW5CbHVyCiAgICAgICAgIGluPSJjb21wb3NpdGUxIgogICAgICAgICBzdGREZXZpYXRpb249IjAuMSIKICAgICAgICAgcmVzdWx0PSJibHVyIgogICAgICAgICBpZD0iZmVHYXVzc2lhbkJsdXI1NyIgLz4KICAgICAgPGZlT2Zmc2V0CiAgICAgICAgIGR4PSIxIgogICAgICAgICBkeT0iMSIKICAgICAgICAgcmVzdWx0PSJvZmZzZXQiCiAgICAgICAgIGlkPSJmZU9mZnNldDU5IiAvPgogICAgICA8ZmVDb21wb3NpdGUKICAgICAgICAgaW49IlNvdXJjZUdyYXBoaWMiCiAgICAgICAgIGluMj0ib2Zmc2V0IgogICAgICAgICBvcGVyYXRvcj0ib3ZlciIKICAgICAgICAgcmVzdWx0PSJjb21wb3NpdGUyIgogICAgICAgICBpZD0iZmVDb21wb3NpdGU2MSIgLz4KICAgIDwvZmlsdGVyPgogIDwvZGVmcz4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGE0Mzg3Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICAgIDxkYzp0aXRsZSAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZwogICAgIGlua3NjYXBlOmdyb3VwbW9kZT0ibGF5ZXIiCiAgICAgaWQ9ImxheWVyMiIKICAgICBpbmtzY2FwZTpsYWJlbD0iTGF5ZXIgMiIKICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiCiAgICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTguMDUyNzc3OCwtOTYuOTUwODk0KSI+CiAgICA8ZwogICAgICAgaWQ9Imc1MDczIgogICAgICAgc3R5bGU9ImZpbHRlcjp1cmwoI2ZpbHRlcjU1MjkpIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNjk3MTkzLDE1My41NTE4MSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDYgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzU5OSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjE0Ni4yOTQzNCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjU2MzgwMSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4MyIKICAgICAgICAgc3R5bGU9ImZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjMyMTM3LDE0Ni41NTMwOSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzUgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwNCIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEzOS4yOTU2MiIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjQ5ODc0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00IgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGlua3NjYXBlOnRyYW5zZm9ybS1jZW50ZXIteD0iMy4zNTY0NDcyZS0wNiIKICAgICAgICAgZD0ibSA2NC43NzEyNjMsMTM5LjU4ODg5IC04LjM1MTg0OCwtMC4wNDkxIC00LjEzMzM5MiwtNy4yNTc0NyA0LjIxODQ1NSwtNy4yMDgzNiA4LjM1MTg0OSwwLjA0OTEgNC4xMzMzOTIsNy4yNTc0NyB6IgogICAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuNTc2Njc2NiIKICAgICAgICAgc29kaXBvZGk6YXJnMT0iMS4wNTMwNzc4IgogICAgICAgICBzb2RpcG9kaTpyMj0iNi4wNDczNjA5IgogICAgICAgICBzb2RpcG9kaTpyMT0iOC4zNTE5OTI2IgogICAgICAgICBzb2RpcG9kaTpjeT0iMTMyLjMzMTQyIgogICAgICAgICBzb2RpcG9kaTpjeD0iNjAuNjM3ODcxIgogICAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgICAgaWQ9InBhdGg0ODgzLTQtMiIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNjQuNzY1NDg4LDEyNS43MDIyOCAtOC4zNTE4NDksLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkzLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjExOC40NDQ4MSIKICAgICAgICAgc29kaXBvZGk6Y3g9IjYwLjYzMjA5NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMCIKICAgICAgICAgc3R5bGU9ImRpc3BsYXk6aW5saW5lO2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4zOTQ2OTg1O3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgICA8cGF0aAogICAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjMuMzU2NDQ3MmUtMDYiCiAgICAgICAgIGQ9Im0gNTIuNjk2MDM3LDEzMi42NzYxMSAtOC4zNTE4NDgsLTAuMDQ5MSAtNC4xMzMzOTIsLTcuMjU3NDcgNC4yMTg0NTYsLTcuMjA4MzYgOC4zNTE4NDgsMC4wNDkxIDQuMTMzMzkyLDcuMjU3NDcgeiIKICAgICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgICBzb2RpcG9kaTphcmcyPSIxLjU3NjY3NjYiCiAgICAgICAgIHNvZGlwb2RpOmFyZzE9IjEuMDUzMDc3OCIKICAgICAgICAgc29kaXBvZGk6cjI9IjYuMDQ3MzYwOSIKICAgICAgICAgc29kaXBvZGk6cjE9IjguMzUxOTkyNiIKICAgICAgICAgc29kaXBvZGk6Y3k9IjEyNS40MTg2NCIKICAgICAgICAgc29kaXBvZGk6Y3g9IjQ4LjU2MjY0NSIKICAgICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICAgIGlkPSJwYXRoNDg4My00LTItMC0wIgogICAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjM5NDY5ODU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmUiCiAgICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaWQ9ImxheWVyMSIKICAgICBpbmtzY2FwZTpncm91cG1vZGU9ImxheWVyIgogICAgIGlua3NjYXBlOmxhYmVsPSJMYXllciAxIgogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtOC4wNTI3Nzc4LC05Ni45NTA4OTQpIj4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMDMxMDU1LDYzLjc5NTc3NikiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wMi05IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNjMTI3NjY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjE3MDE3OSw3MC43NTk5ODUpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC01LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6IzNlNDg5ZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MTU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXk9Ii05Ni43ODY0NjUiCiAgICAgICBpbmtzY2FwZTp0cmFuc2Zvcm0tY2VudGVyLXg9IjE5OC4xMDMzNSIKICAgICAgIHRyYW5zZm9ybT0ibWF0cml4KDAuMDcyMDU3NSwwLjAxNTUzMzQ1LC0wLjAxNTUzMzQ1LDAuMDcyMDU3NSwtNTkuMTA2NDksNzcuNzU4MjkzKSIKICAgICAgIGQ9Im0gMTg0OS4xMzg3LDY0MC4zNTI1MiAtOTYuODI0MiwyMC41NTgwMiAtNjYuMjE1OCwtNzMuNTczMTYgMzAuNjA4MywtOTQuMTMxMTggOTYuODI0MiwtMjAuNTU4MDIgNjYuMjE1OCw3My41NzMxNiB6IgogICAgICAgaW5rc2NhcGU6cmFuZG9taXplZD0iMCIKICAgICAgIGlua3NjYXBlOnJvdW5kZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpmbGF0c2lkZWQ9InRydWUiCiAgICAgICBzb2RpcG9kaTphcmcyPSIxLjM2MTU4IgogICAgICAgc29kaXBvZGk6YXJnMT0iMC44Mzc5ODEyMyIKICAgICAgIHNvZGlwb2RpOnIyPSI0OS40OTEyOCIKICAgICAgIHNvZGlwb2RpOnIxPSI5OC45ODI1NTkiCiAgICAgICBzb2RpcG9kaTpjeT0iNTY2Ljc3OTM2IgogICAgICAgc29kaXBvZGk6Y3g9IjE3ODIuOTIyOSIKICAgICAgIHNvZGlwb2RpOnNpZGVzPSI2IgogICAgICAgaWQ9InBhdGg1MDE5LTQtMS0yIgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3MTQwOTk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTcxLjEwNjI4MSw1Ni44ODI5OSkiCiAgICAgICBkPSJtIDE4NDkuMTM4Nyw2NDAuMzUyNTIgLTk2LjgyNDIsMjAuNTU4MDIgLTY2LjIxNTgsLTczLjU3MzE2IDMwLjYwODMsLTk0LjEzMTE4IDk2LjgyNDIsLTIwLjU1ODAyIDY2LjIxNTgsNzMuNTczMTYgeiIKICAgICAgIGlua3NjYXBlOnJhbmRvbWl6ZWQ9IjAiCiAgICAgICBpbmtzY2FwZTpyb3VuZGVkPSIwIgogICAgICAgaW5rc2NhcGU6ZmxhdHNpZGVkPSJ0cnVlIgogICAgICAgc29kaXBvZGk6YXJnMj0iMS4zNjE1OCIKICAgICAgIHNvZGlwb2RpOmFyZzE9IjAuODM3OTgxMjMiCiAgICAgICBzb2RpcG9kaTpyMj0iNDkuNDkxMjgiCiAgICAgICBzb2RpcG9kaTpyMT0iOTguOTgyNTU5IgogICAgICAgc29kaXBvZGk6Y3k9IjU2Ni43NzkzNiIKICAgICAgIHNvZGlwb2RpOmN4PSIxNzgyLjkyMjkiCiAgICAgICBzb2RpcG9kaTpzaWRlcz0iNiIKICAgICAgIGlkPSJwYXRoNTAxOS0wLTQtOS04IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiM3ODkzMmM7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHNvZGlwb2RpOnR5cGU9InN0YXIiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICB0cmFuc2Zvcm09Im1hdHJpeCgwLjA3MjA1NzUsMC4wMTU1MzM0NSwtMC4wMTU1MzM0NSwwLjA3MjA1NzUsLTU5LjAzNjgyOCw0OS45MDkxNjcpIgogICAgICAgZD0ibSAxODQ5LjEzODcsNjQwLjM1MjUyIC05Ni44MjQyLDIwLjU1ODAyIC02Ni4yMTU4LC03My41NzMxNiAzMC42MDgzLC05NC4xMzExOCA5Ni44MjQyLC0yMC41NTgwMiA2Ni4yMTU4LDczLjU3MzE2IHoiCiAgICAgICBpbmtzY2FwZTpyYW5kb21pemVkPSIwIgogICAgICAgaW5rc2NhcGU6cm91bmRlZD0iMCIKICAgICAgIGlua3NjYXBlOmZsYXRzaWRlZD0idHJ1ZSIKICAgICAgIHNvZGlwb2RpOmFyZzI9IjEuMzYxNTgiCiAgICAgICBzb2RpcG9kaTphcmcxPSIwLjgzNzk4MTIzIgogICAgICAgc29kaXBvZGk6cjI9IjQ5LjQ5MTI4IgogICAgICAgc29kaXBvZGk6cjE9Ijk4Ljk4MjU1OSIKICAgICAgIHNvZGlwb2RpOmN5PSI1NjYuNzc5MzYiCiAgICAgICBzb2RpcG9kaTpjeD0iMTc4Mi45MjI5IgogICAgICAgc29kaXBvZGk6c2lkZXM9IjYiCiAgICAgICBpZD0icGF0aDUwMTktMC0wLTctOSIKICAgICAgIHN0eWxlPSJvcGFjaXR5OjE7ZmlsbDojY2YyNDJhO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lO3N0cm9rZS13aWR0aDozO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJzdGFyIiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTQ2LjI5NDM0IgogICAgICAgY3g9IjYwLjU2MzgwMSIKICAgICAgIGlkPSJwYXRoNTU1My03IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTIiCiAgICAgICBkPSJNIDYxLjc0NzY1NywxMTcuNzEwMzkgNDcuNDgwNzksMTI1Ljg4NDI0IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03IgogICAgICAgZD0ibSA0OC41MTM2MjcsMTI0LjE5Njc1IDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctMSIKICAgICAgIGQ9Im0gNDcuNTI0NTE5LDEzOC43MTQ2OCAxNC4xMzY0NTMsOC4zOTc0MSIKICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuNTIzNzUyNzU7c3Ryb2tlLWxpbmVjYXA6YnV0dDtzdHJva2UtbGluZWpvaW46bWl0ZXI7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIgLz4KICAgIDxwYXRoCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItdHlwZT0icG9seWxpbmUiCiAgICAgICBpZD0icGF0aDU1OTItNy03IgogICAgICAgZD0ibSA2MC41OTAxMDEsMTE3LjEzMjUxIDAuMDQ4MTEsMTYuNDQyNDIiCiAgICAgICBzdHlsZT0iZmlsbDpub25lO2ZpbGwtcnVsZTpldmVub2RkO3N0cm9rZTojZmZmZmZmO3N0cm9rZS13aWR0aDowLjUyMzc1Mjc1O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8cGF0aAogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLXR5cGU9InBvbHlsaW5lIgogICAgICAgaWQ9InBhdGg1NTkyLTctNCIKICAgICAgIGQ9Im0gNjAuNjU3Mzc0LDEzMS4wOTI3OCAwLjA0ODExLDE2LjQ0MjQyIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM4MDAwMjtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi01IgogICAgICAgZD0ibSA2MS43NjU1NSwxMzEuNzA4MDEgLTE0LjI2Njg2Nyw4LjE3Mzg2IgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHBhdGgKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci10eXBlPSJwb2x5bGluZSIKICAgICAgIGlkPSJwYXRoNTU5Mi03LTEtMyIKICAgICAgIGQ9Im0gNDcuNTYzODksMTI0Ljg0MDg2IDE0LjEzNjQ1Myw4LjM5NzQxIgogICAgICAgc3R5bGU9ImZpbGw6bm9uZTtmaWxsLXJ1bGU6ZXZlbm9kZDtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC41MjM3NTI3NTtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgPHRleHQKICAgICAgIHhtbDpzcGFjZT0icHJlc2VydmUiCiAgICAgICBzdHlsZT0iZm9udC1zdHlsZTpub3JtYWw7Zm9udC13ZWlnaHQ6bm9ybWFsO2ZvbnQtc2l6ZTowLjY3NzAwOTUycHg7bGluZS1oZWlnaHQ6MCU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweDtzdHJva2UtbGluZWNhcDpidXR0O3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2Utb3BhY2l0eToxO2ZpbHRlcjp1cmwoI2ZpbHRlcjYzKSIKICAgICAgIHg9IjE3Ljk5MjA5NiIKICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgIGlkPSJ0ZXh0NTA5My0xLTQiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTMwLjY0OTA5IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSI+PHRzcGFuCiAgICAgICAgIHN0eWxlPSJmb250LXNpemU6MTIuNDI3NjQ1NjhweDtsaW5lLWhlaWdodDoxLjI1O2ZpbGw6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNiIKICAgICAgICAgeD0iMTcuOTkyMDk2IgogICAgICAgICB5PSIxNjguOTY2OTUiPjx0c3BhbgogICAgICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXZhcmlhbnQ6bm9ybWFsO2ZvbnQtd2VpZ2h0OmJvbGQ7Zm9udC1zdHJldGNoOm5vcm1hbDtmb250LWZhbWlseTpzYW5zLXNlcmlmOy1pbmtzY2FwZS1mb250LXNwZWNpZmljYXRpb246J3NhbnMtc2VyaWYgQm9sZCc7ZmlsbDojZmZmZmZmO2ZpbGwtb3BhY2l0eToxO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiCiAgICAgICAgICAgaWQ9InRzcGFuNTA5Ny0xLTQiPkFDVElWRTwvdHNwYW4+PC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6IzAwMDAwMDtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjEiCiAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICB5PSIxNTguMzA0OTMiCiAgICAgICBpZD0idGV4dDY5MzgtNCIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTMwLjY0OTA5Ij48dHNwYW4KICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTo1LjExNzE5Nzk5cHg7bGluZS1oZWlnaHQ6MS4yNTtmaWxsOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMDU2NDE3NDVweCIKICAgICAgICAgc29kaXBvZGk6cm9sZT0ibGluZSIKICAgICAgICAgaWQ9InRzcGFuNjk0MC0xIgogICAgICAgICB4PSIxOS43OTU2MjIiCiAgICAgICAgIHk9IjE1OC4zMDQ5MyI+QVBBQ0hFPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgeG1sOnNwYWNlPSJwcmVzZXJ2ZSIKICAgICAgIHN0eWxlPSJmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zaXplOjAuNjc3MDA5NTJweDtsaW5lLWhlaWdodDowJTtmb250LWZhbWlseTpzYW5zLXNlcmlmO2xldHRlci1zcGFjaW5nOjBweDt3b3JkLXNwYWNpbmc6MHB4O2ZpbGw6I2MxMjc2NjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4wNTY0MTc0NXB4O3N0cm9rZS1saW5lY2FwOmJ1dHQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1vcGFjaXR5OjE7ZmlsdGVyOnVybCgjZmlsdGVyNTYpIgogICAgICAgeD0iNjcuNzg2ODY1IgogICAgICAgeT0iMTY4Ljk2Njk1IgogICAgICAgaWQ9InRleHQ1MDkzLTEtNC0yLTgtOS00IgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIgogICAgICAgICBpZD0idHNwYW41MDk1LTMtNi01LTUtNi0zIgogICAgICAgICB4PSI2Ny43ODY4NjUiCiAgICAgICAgIHk9IjE2OC45NjY5NSIKICAgICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtdmFyaWFudDpub3JtYWw7Zm9udC13ZWlnaHQ6Ym9sZDtmb250LXN0cmV0Y2g6bm9ybWFsO2ZvbnQtc2l6ZToxMi40Mjc2NDU2OHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjstaW5rc2NhcGUtZm9udC1zcGVjaWZpY2F0aW9uOidzYW5zLXNlcmlmIEJvbGQnO3N0cm9rZS13aWR0aDowLjA1NjQxNzQ1cHgiPk1RPC90c3Bhbj48L3RleHQ+CiAgICA8dGV4dAogICAgICAgaWQ9InRleHQzOTYwIgogICAgICAgeT0iMTYwLjY1NzczIgogICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgc3R5bGU9ImZvbnQtc3R5bGU6bm9ybWFsO2ZvbnQtd2VpZ2h0Om5vcm1hbDtmb250LXNpemU6My4xNzUwMDAwOHB4O2xpbmUtaGVpZ2h0OjEuMjU7Zm9udC1mYW1pbHk6c2Fucy1zZXJpZjtsZXR0ZXItc3BhY2luZzowcHg7d29yZC1zcGFjaW5nOjBweDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMDU3ODkzMTsiCiAgICAgICB4bWw6c3BhY2U9InByZXNlcnZlIgogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC15ZHBpPSIxMzAuNjQ5MDkiPjx0c3BhbgogICAgICAgICBzdHlsZT0iZmlsbDojZmZmZmZmO3N0cm9rZS13aWR0aDowLjA1Nzg5MzE7Zm9udC1zaXplOjMuMTc1MDAwMDhweDsiCiAgICAgICAgIHk9IjE2MC42NTc3MyIKICAgICAgICAgeD0iODkuNDMyMTc1IgogICAgICAgICBpZD0idHNwYW4zOTU4IgogICAgICAgICBzb2RpcG9kaTpyb2xlPSJsaW5lIj7CrjwvdHNwYW4+PC90ZXh0PgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTM5LjI0MjE5IgogICAgICAgY3g9IjQ4LjMzMzcwNiIKICAgICAgIGlkPSJwYXRoNTU1My03LTEiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTMyLjQ4NTg2IgogICAgICAgY3g9IjYwLjkwMTQxMyIKICAgICAgIGlkPSJwYXRoNTU1My03LTMiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTI1LjQxODY0IgogICAgICAgY3g9IjQ4LjU2MjY0NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTAiCiAgICAgICBzdHlsZT0ib3BhY2l0eToxO2ZpbGw6I2ZmZmZmZjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4zMjAwNzExMztzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIgogICAgICAgcj0iMS42MDAzNTU2IiAvPgogICAgPGNpcmNsZQogICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjEzMC42NDkwOSIKICAgICAgIGlua3NjYXBlOmV4cG9ydC14ZHBpPSIxMzAuNjQ5MDkiCiAgICAgICBjeT0iMTE4LjQ0NDgyIgogICAgICAgY3g9IjYwLjYzMjA5NSIKICAgICAgIGlkPSJwYXRoNTU1My03LTM5IgogICAgICAgc3R5bGU9Im9wYWNpdHk6MTtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmU7c3Ryb2tlLXdpZHRoOjAuMzIwMDcxMTM7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2UtZGFzaGFycmF5Om5vbmU7c3Ryb2tlLW9wYWNpdHk6MSIKICAgICAgIHI9IjEuNjAwMzU1NiIgLz4KICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "JMS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" camel.apache.org/requires.runtime: camel-k spec: definition: title: "JMS Pooled - Apache Artemis Source" description: "Receive data from an Apache Artemis message broker by using JMS Pooled Connection." required: - destinationName - brokerURL type: object properties: destinationType: title: "Destination Type" description: "The JMS destination type (queue or topic)." type: string default: queue destinationName: title: "Destination Name" description: "The JMS destination name." type: string brokerURL: title: "Broker URL" description: "The JMS URL." type: string example: "tcp://my-host:61616" username: title: "Broker Username" description: "The JMS Broker Username." type: string x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required password: title: "Broker Password" description: "The JMS Broker Password." type: string x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required maxSessionsPerConnection: title: "Max Session Per Connection" description: "The maximum number of pooled sessions per connection in the pool." type: integer default: 500 maxIdleSessionsPerConnection: title: "Max Idle Sessions Per Connection" description: "The number of idle sessions allowed per connection before they are closed." type: integer default: 500 connectionIdleTimeout: title: "Connection Idle Timeout" description: "The maximum time a pooled Connection can sit unused before it is eligible for removal (in milliseconds)." type: integer default: 30000 dependencies: - "camel:jms" - "camel:kamelet" - "mvn:org.apache.activemq:artemis-jakarta-client-all:2.42.0" - "mvn:org.messaginghub:pooled-jms:3.1.7" template: beans: - name: connectionFactoryBean type: "#class:org.apache.activemq.artemis.jms.client.ActiveMQConnectionFactory" properties: brokerURL: '{{brokerURL}}' user: '{{?username}}' password: '{{?password}}' - name: pooledFactoryBean type: "#class:org.messaginghub.pooled.jms.JmsPoolConnectionFactory" properties: connectionFactory: '#bean:{{connectionFactoryBean}}' maxSessionsPerConnection: "{{maxSessionsPerConnection}}" maxIdleSessionsPerConnection: "{{maxIdleSessionsPerConnection}}" connectionIdleTimeout: "{{connectionIdleTimeout}}" from: uri: "jms:{{destinationType}}:{{destinationName}}" parameters: connectionFactory: "#bean:{{pooledFactoryBean}}" steps: - to: uri: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jolt-transformation-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Jolt Transformation Action" description: Apply a Jolt Transformation. required: - template type: object properties: template: title: Template description: The inline template type: string example: "file:////template.json" pattern: "^(http|https|file|classpath|ref|bean)://.*" transform: title: Transform DSL description: Specifies the Transform DSL of the endpoint resource. If none is specified, Chainr is used. type: string default: "Chainr" enum: ["Chainr", "Shiftr", "Defaultr", "Removr", "Sortr"] dependencies: - "camel:jolt" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "jolt:" parameters: resourceUri: "{{template}}" transformDsl: "{{transform}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jslt-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "JSLT Action" description: Apply a JSLT query or transformation on JSON. required: - template type: object properties: template: title: Template description: The inline template for JSLT Transformation type: string example: "file://template.json" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:jslt" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "jslt:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: json-deserialize-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "JSON" spec: definition: title: "Json Deserialize Action" description: "Deserialize payload to JSON." type: object dependencies: - "camel:kamelet" - "camel:core" - "camel:jackson" template: from: uri: kamelet:source steps: - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - removeHeader: name: "Content-Type" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: json-patch-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Json Patch Action" description: Apply a Json Patch Transformation. required: - template type: object properties: template: title: Template description: The json patch transformation type: string example: "file:////template.json" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:json-patch" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "json-patch:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: json-schema-validator-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "JSON" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Json Schema Validator Action" description: Apply a Json Schema Template to validate the payload against. required: - template type: object properties: template: title: Template description: The inline template type: string example: "file:////template.json" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:json-validator" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "json-validator:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: json-serialize-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "JSON" spec: definition: title: "Json Serialize Action" description: "Serialize payload to JSON." type: object dependencies: - "camel:kamelet" - "camel:core" - "camel:jackson" template: from: uri: kamelet:source steps: - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: jsonata-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "JSON" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Jsonata Action" description: Apply a Jsonata Transformation. required: - template type: object properties: template: title: Template description: The inline template. type: string example: "file:////template.spec" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:jsonata" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "jsonata:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-apicurio-registry-not-secured-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Kafka Not Secured with Apicurio Registry Sink" description: Send data to Kafka topics on an insecure broker with Apicurio Registry. required: - topic - bootstrapServers - apicurioRegistryUrl type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names. type: string bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs. type: string valueSerializer: title: Value Serializer description: Serliazer class for value that implements the Serializer interface. type: string default: "io.apicurio.registry.serde.avro.AvroKafkaSerializer" apicurioRegistryUrl: title: Apicurio Registry URL description: The Apicurio Schema Registry URL. type: string x-descriptors: - urn:keda:metadata:apicurioRegistryUrl - urn:keda:required avroDatumProvider: title: Avro Datum Provider description: How to write data with Avro. type: string default: "io.apicurio.registry.serde.avro.ReflectAvroDatumProvider" dependencies: - "camel:core" - "camel:kamelet" - "camel:kafka" - "mvn:io.apicurio:apicurio-registry-serdes-avro-serde:2.4.14.Final" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[key]}" steps: - setHeader: name: kafka.KEY simple: "${header[key]}" - simple: "${header[ce-key]}" steps: - setHeader: name: kafka.KEY simple: "${header[ce-key]}" - choice: when: - simple: "${header[partition-key]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[partition-key]}" - simple: "${header[ce-partitionkey]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[ce-partitionkey]}" - to: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" valueSerializer: "{{valueSerializer}}" additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}" additionalProperties.apicurio.registry.avro-datum-provider: "{{avroDatumProvider}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-apicurio-registry-not-secured-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Not Secured with Apicurio Registry Source" description: Receive data from Kafka topics on an insecure broker combined with Apicurio Registry. required: - topic - bootstrapServers - apicurioRegistryUrl type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true valueDeserializer: title: Value Deserializer description: Deserializer class for value that implements the Deserializer interface. type: string default: "io.apicurio.registry.serde.jsonschema.JsonSchemaKafkaDeserializer" apicurioRegistryUrl: title: Apicurio Registry URL description: The Apicurio Schema Registry URL type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" - "mvn:io.quarkus:quarkus-apicurio-registry-json-schema:3.15.1" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" valueDeserializer: "{{valueDeserializer}}" topicIsPattern: "{{topicIsPattern}}" additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-azure-schema-registry-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Azure Kafka through Eventhubs with Azure Schema Registry Sink" description: Send data to Kafka topics on Azure Eventhubs combined with Azure Schema Registry. required: - topic - bootstrapServers - azureRegistryUrl - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: PLAIN password: title: Password description: Password to authenticate to kafka type: string format: password x-descriptors: - urn:camel:group:credentials valueSerializer: title: Value Deserializer description: Deserializer class for value that implements the Deserializer interface. type: string default: "com.microsoft.azure.schemaregistry.kafka.avro.KafkaAvroSerializer" azureRegistryUrl: title: Azure Schema Registry URL description: The Apicurio Schema Registry URL type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required specificAvroValueType: title: Specific Avro Value Type description: The Specific Type Avro will have to deal with type: string example: "com.example.Order" dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" - "camel:azure-schema-registry" - "mvn:com.microsoft.azure:azure-schemaregistry-kafka-avro:1.1.2" - "mvn:com.azure:azure-data-schemaregistry-apacheavro:1.1.26" - "mvn:com.azure:azure-identity:1.16.2" template: beans: - name: defaultAzureCredential type: "#class:org.apache.camel.component.azure.schema.registry.DefaultAzureCredentialWrapper" from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[key]}" steps: - setHeader: name: kafka.KEY simple: "${header[key]}" - simple: "${header[ce-key]}" steps: - setHeader: name: kafka.KEY simple: "${header[ce-key]}" - choice: when: - simple: "${header[partition-key]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[partition-key]}" - simple: "${header[ce-partitionkey]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[ce-partitionkey]}" - to: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password={{password}};' valueSerializer: "{{valueSerializer}}" additionalProperties.schema.registry.url: "{{azureRegistryUrl}}" additionalProperties.schema.group: avro additionalProperties.schema.registry.credential: '#bean:defaultAzureCredential' additionalProperties.specific.avro.value.type: '#valueAs(java.lang.Class):{{specificAvroValueType}}' --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-azure-schema-registry-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Azure Kafka through Eventhubs with Azure Schema Registry Source" description: Receive data from Kafka topics on Azure Eventhubs combined with Azure Schema Registry. required: - topic - bootstrapServers - azureRegistryUrl - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: PLAIN password: title: Password description: Password to authenticate to kafka type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true valueDeserializer: title: Value Deserializer description: Deserializer class for value that implements the Deserializer interface. type: string default: "com.microsoft.azure.schemaregistry.kafka.avro.KafkaAvroDeserializer" azureRegistryUrl: title: Azure Schema Registry URL description: The Apicurio Schema Registry URL type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required specificAvroValueType: title: Specific Avro Value Type description: The Specific Type Avro will have to deal with type: string example: "com.example.Order" topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" - "camel:azure-schema-registry" - "mvn:com.microsoft.azure:azure-schemaregistry-kafka-avro:1.1.2" - "mvn:com.azure:azure-data-schemaregistry-apacheavro:1.1.26" - "mvn:com.azure:azure-identity:1.16.2" template: beans: - name: defaultAzureCredential type: "#class:org.apache.camel.component.azure.schema.registry.DefaultAzureCredentialWrapper" - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password={{password}};' autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" valueDeserializer: "{{valueDeserializer}}" topicIsPattern: "{{topicIsPattern}}" additionalProperties.schema.registry.url: "{{azureRegistryUrl}}" additionalProperties.schema.group: avro additionalProperties.schema.registry.credential: '#bean:defaultAzureCredential' additionalProperties.specific.avro.value.type: '#valueAs(java.lang.Class):{{specificAvroValueType}}' additionalProperties.specific.avro.reader: '#valueAs(boolean):true' steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-batch-apicurio-registry-not-secured-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Batch Not Secured with Apicurio Registry Source" description: Receive data from Kafka topics in batch on an insecure broker combined with Apicurio Registry and commit them manually through KafkaManualCommit or auto commit. required: - topic - bootstrapServers - apicurioRegistryUrl type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names. type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs. type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer. type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits. type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP`. type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of `latest`, `earliest`, `none`. type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs. type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true valueDeserializer: title: Value Deserializer description: Deserializer class for value that implements the Deserializer interface. type: string default: "io.apicurio.registry.serde.avro.AvroKafkaDeserializer" apicurioRegistryUrl: title: Apicurio Registry URL description: The Apicurio Schema Registry URL. type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required avroDatumProvider: title: Avro Datum Provider description: How to read data with Avro. type: string default: "io.apicurio.registry.serde.avro.ReflectAvroDatumProvider" batchSize: title: Batch Dimension description: The maximum number of records returned in a single call to poll(). type: integer default: 500 pollTimeout: title: Poll Timeout Interval description: The timeout used when polling the KafkaConsumer. type: integer default: 5000 maxPollIntervalMs: title: Max Poll Interval description: The maximum delay between invocations of poll() when using consumer group management. type: integer batchingIntervalMs: title: Batching Interval description: In consumer batching mode, then this option is specifying a time in millis, to trigger batch completion eager when the current batch size has not reached the maximum size defined by maxPollRecords. Notice the trigger is not exact at the given interval, as this can only happen between kafka polls (see pollTimeoutMs option). type: integer topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" - "mvn:io.quarkus:quarkus-apicurio-registry-avro:3.24.2" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' - name: manualCommitFactory type: "#class:org.apache.camel.component.kafka.consumer.DefaultKafkaManualCommitFactory" from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" valueDeserializer: "{{valueDeserializer}}" additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}" additionalProperties.apicurio.registry.avro-datum-provider: "{{avroDatumProvider}}" maxPollRecords: "{{batchSize}}" pollTimeoutMs: "{{pollTimeout}}" maxPollIntervalMs: "{{?maxPollIntervalMs}}" batchingIntervalMs: "{{?batchingIntervalMs}}" batching: true kafkaManualCommitFactory: "#bean:{{manualCommitFactory}}" topicIsPattern: "{{topicIsPattern}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-batch-apicurio-registry-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Batch with Apicurio Registry secured with Keycloak Source" description: Receive data from Kafka topics in batch on an insecure broker combined with Apicurio Registry secured with Keycloak and commit them manually through KafkaManualCommit or auto commit. required: - topic - bootstrapServers - apicurioRegistryUrl - apicurioAuthServiceUrl - apicurioAuthRealm - apicurioAuthClientId - apicurioAuthClientSecret - apicurioAuthUsername - apicurioAuthPassword type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true valueDeserializer: title: Value Deserializer description: Deserializer class for value that implements the Deserializer interface. type: string default: "io.apicurio.registry.serde.avro.AvroKafkaDeserializer" apicurioRegistryUrl: title: Apicurio Registry URL description: The Apicurio Schema Registry URL type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required avroDatumProvider: title: Avro Datum Provider description: How to read data with Avro type: string default: "io.apicurio.registry.serde.avro.ReflectAvroDatumProvider" batchSize: title: Batch Dimension description: The maximum number of records returned in a single call to poll() type: integer default: 500 pollTimeout: title: Poll Timeout Interval description: The timeout used when polling the KafkaConsumer type: integer default: 5000 maxPollIntervalMs: title: Max Poll Interval description: The maximum delay between invocations of poll() when using consumer group management type: integer batchingIntervalMs: title: Batching Interval description: In consumer batching mode, then this option is specifying a time in millis, to trigger batch completion eager when the current batch size has not reached the maximum size defined by maxPollRecords. Notice the trigger is not exact at the given interval, as this can only happen between kafka polls (see pollTimeoutMs option). type: integer apicurioAuthServiceUrl: title: Apicurio Registry Auth Service URL description: The URL for Keycloak instance securing the Apicurio Registry type: string example: "http://my-keycloak.com:8080/" apicurioAuthRealm: title: Apicurio Registry Auth Realm description: The Realm in Keycloak instance securing the Apicurio Registry type: string apicurioAuthClientId: title: Apicurio Registry Auth Client ID description: The Client ID in Keycloak instance securing the Apicurio Registry type: string apicurioAuthClientSecret: title: Apicurio Registry Auth Client Secret description: The Client Secret in Keycloak instance securing the Apicurio Registry type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required apicurioAuthUsername: title: Apicurio Registry Auth Username description: The Username in Keycloak instance securing the Apicurio Registry type: string apicurioAuthPassword: title: Apicurio Registry Auth Password description: The Password in Keycloak instance securing the Apicurio Registry type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" - "mvn:io.quarkus:quarkus-apicurio-registry-avro:3.24.2" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' - name: manualCommitFactory type: "#class:org.apache.camel.component.kafka.consumer.DefaultKafkaManualCommitFactory" from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" valueDeserializer: "{{valueDeserializer}}" additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}" additionalProperties.apicurio.registry.avro-datum-provider: "{{avroDatumProvider}}" additionalProperties.apicurio.auth.service.url: "{{apicurioAuthServiceUrl}}" additionalProperties.apicurio.auth.realm: "{{apicurioAuthRealm}}" additionalProperties.apicurio.auth.client.id: "{{apicurioAuthClientId}}" additionalProperties.apicurio.auth.client.secret: "{{apicurioAuthClientSecret}}" additionalProperties.apicurio.auth.username: "{{apicurioAuthUsername}}" additionalProperties.apicurio.auth.password: "{{apicurioAuthPassword}}" maxPollRecords: "{{batchSize}}" pollTimeoutMs: "{{pollTimeout}}" maxPollIntervalMs: "{{?maxPollIntervalMs}}" batchingIntervalMs: "{{?batchingIntervalMs}}" batching: true kafkaManualCommitFactory: "#bean:{{manualCommitFactory}}" topicIsPattern: "{{topicIsPattern}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-batch-azure-schema-registry-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Azure Kafka Batch through Eventhubs with Azure Schema Registry Source" description: Receive data from Kafka topics in batch on Azure Eventhubs combined with Azure Schema Registry and commit them manually through KafkaManualCommit or auto commit. required: - topic - bootstrapServers - azureRegistryUrl - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: PLAIN password: title: Password description: Password to authenticate to kafka type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true valueDeserializer: title: Value Deserializer description: Deserializer class for value that implements the Deserializer interface. type: string default: "com.microsoft.azure.schemaregistry.kafka.avro.KafkaAvroDeserializer" azureRegistryUrl: title: Azure Schema Registry URL description: The Apicurio Schema Registry URL type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required specificAvroValueType: title: Specific Avro Value Type description: The Specific Type Avro will have to deal with type: string example: "com.example.Order" batchSize: title: Batch Dimension description: The maximum number of records returned in a single call to poll() type: integer default: 500 pollTimeout: title: Poll Timeout Interval description: The timeout used when polling the KafkaConsumer type: integer default: 5000 maxPollIntervalMs: title: Max Poll Interval description: The maximum delay between invocations of poll() when using consumer group management type: integer batchingIntervalMs: title: Batching Interval description: In consumer batching mode, then this option is specifying a time in millis, to trigger batch completion eager when the current batch size has not reached the maximum size defined by maxPollRecords. Notice the trigger is not exact at the given interval, as this can only happen between kafka polls (see pollTimeoutMs option). type: integer topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" - "camel:azure-schema-registry" - "mvn:com.microsoft.azure:azure-schemaregistry-kafka-avro:1.1.2" - "mvn:com.azure:azure-data-schemaregistry-apacheavro:1.1.26" - "mvn:com.azure:azure-identity:1.16.2" template: beans: - name: defaultAzureCredential type: "#class:org.apache.camel.component.azure.schema.registry.DefaultAzureCredentialWrapper" - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' - name: manualCommitFactory type: "#class:org.apache.camel.component.kafka.consumer.DefaultKafkaManualCommitFactory" from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password={{password}};' autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" valueDeserializer: "{{valueDeserializer}}" maxPollRecords: "{{batchSize}}" pollTimeoutMs: "{{pollTimeout}}" maxPollIntervalMs: "{{?maxPollIntervalMs}}" batchingIntervalMs: "{{?batchingIntervalMs}}" batching: true kafkaManualCommitFactory: "#bean:{{manualCommitFactory}}" topicIsPattern: "{{topicIsPattern}}" additionalProperties.schema.registry.url: "{{azureRegistryUrl}}" additionalProperties.schema.group: avro additionalProperties.schema.registry.credential: '#bean:defaultAzureCredential' additionalProperties.specific.avro.value.type: '#valueAs(java.lang.Class):{{specificAvroValueType}}' additionalProperties.specific.avro.reader: '#valueAs(boolean):true' steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-batch-manual-commit-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Kafka Batch Manual Commit Action" description: "Manually commit Kafka Batch Offset." type: object dependencies: - "camel:kamelet" template: from: uri: kamelet:source steps: - bean: "org.apache.camel.component.kafka.BatchManualCommit" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-batch-not-secured-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Batch Not Secured Source" description: Receive data from Kafka topics in batch on an insecure broker and commit them manually through KafkaManualCommit. required: - topic - bootstrapServers type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true batchSize: title: Batch Dimension description: The maximum number of records returned in a single call to poll() type: integer default: 500 pollTimeout: title: Poll Timeout Interval description: The timeout used when polling the KafkaConsumer type: integer default: 5000 maxPollIntervalMs: title: Max Poll Interval description: The maximum delay between invocations of poll() when using consumer group management type: integer batchingIntervalMs: title: Batching Interval description: In consumer batching mode, then this option is specifying a time in millis, to trigger batch completion eager when the current batch size has not reached the maximum size defined by maxPollRecords. Notice the trigger is not exact at the given interval, as this can only happen between kafka polls (see pollTimeoutMs option). type: integer topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' - name: manualCommitFactory type: "#class:org.apache.camel.component.kafka.consumer.DefaultKafkaManualCommitFactory" from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" maxPollRecords: "{{batchSize}}" pollTimeoutMs: "{{pollTimeout}}" maxPollIntervalMs: "{{?maxPollIntervalMs}}" batchingIntervalMs: "{{?batchingIntervalMs}}" batching: true kafkaManualCommitFactory: "#bean:{{manualCommitFactory}}" topicIsPattern: "{{topicIsPattern}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-batch-scram-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" camel.apache.org/keda.authentication.sasl: "scram-sha-512" camel.apache.org/keda.authentication.tls: "enable" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Batch Scram Source" description: Receive data from Kafka topics in batch through SCRAM login module and commit them manually through KafkaManualCommit. This provides complete control over when messages are committed, allowing for custom processing logic before acknowledgment. required: - topic - bootstrapServers - user - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: SCRAM-SHA-512 user: title: Username description: Username to authenticate to Kafka type: string x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:username - urn:keda:required password: title: Password description: Password to authenticate to kafka type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true batchSize: title: Batch Dimension description: The maximum number of records returned in a single call to poll() type: integer default: 500 pollTimeout: title: Poll Timeout Interval description: The timeout used when polling the KafkaConsumer type: integer default: 5000 maxPollIntervalMs: title: Max Poll Interval description: The maximum delay between invocations of poll() when using consumer group management type: integer batchingIntervalMs: title: Batching Interval description: In consumer batching mode, then this option is specifying a time in millis, to trigger batch completion eager when the current batch size has not reached the maximum size defined by maxPollRecords. Notice the trigger is not exact at the given interval, as this can only happen between kafka polls (see pollTimeoutMs option). type: integer topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' - name: manualCommitFactory type: "#class:org.apache.camel.component.kafka.consumer.DefaultKafkaManualCommitFactory" from: uri: "kafka:{{topic}}" parameters: brokers: "{{?bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.scram.ScramLoginModule required username="{{user}}" password="{{password}}";' autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" maxPollRecords: "{{batchSize}}" pollTimeoutMs: "{{pollTimeout}}" maxPollIntervalMs: "{{?maxPollIntervalMs}}" batchingIntervalMs: "{{?batchingIntervalMs}}" batching: true kafkaManualCommitFactory: "#bean:{{manualCommitFactory}}" topicIsPattern: "{{topicIsPattern}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-batch-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" camel.apache.org/keda.authentication.sasl: "plaintext" camel.apache.org/keda.authentication.tls: "enable" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Batch Source" description: Receive data from Kafka topics in batch through Plain Login Module and commit them manually through KafkaManualCommit. This provides complete control over when messages are committed, allowing for custom processing logic before acknowledgment. required: - topic - bootstrapServers - user - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: PLAIN user: title: Username description: Username to authenticate to Kafka type: string x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:username - urn:keda:required password: title: Password description: Password to authenticate to kafka type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true batchSize: title: Batch Dimension description: The maximum number of records returned in a single call to poll() type: integer default: 500 pollTimeout: title: Poll Timeout Interval description: The timeout used when polling the KafkaConsumer type: integer default: 5000 maxPollIntervalMs: title: Max Poll Interval description: The maximum delay between invocations of poll() when using consumer group management type: integer batchingIntervalMs: title: Batching Interval description: In consumer batching mode, then this option is specifying a time in millis, to trigger batch completion eager when the current batch size has not reached the maximum size defined by maxPollRecords. Notice the trigger is not exact at the given interval, as this can only happen between kafka polls (see pollTimeoutMs option). type: integer topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' - name: manualCommitFactory type: "#class:org.apache.camel.component.kafka.consumer.DefaultKafkaManualCommitFactory" from: uri: "kafka:{{topic}}" parameters: brokers: "{{?bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="{{user}}" password="{{password}}";' autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" maxPollRecords: "{{batchSize}}" pollTimeoutMs: "{{pollTimeout}}" maxPollIntervalMs: "{{?maxPollIntervalMs}}" batchingIntervalMs: "{{?batchingIntervalMs}}" batching: true kafkaManualCommitFactory: "#bean:{{manualCommitFactory}}" topicIsPattern: "{{topicIsPattern}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-batch-ssl-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Batch SSL Source" description: Receive data from Kafka topics in batch with SSL/TLS support and commit them manually through KafkaManualCommit or automatically. required: - topic - bootstrapServers - sslTruststoreLocation - sslKeyPassword type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: GSSAPI autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true sslKeyPassword: description: The password of the private key in the key store file. title: SSL Key Password type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required sslKeystorePassword: description: The store password for the key store file.This is optional for client and only needed if ssl.keystore.location is configured. title: SSL Keystore Password type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password sslEndpointAlgorithm: description: The endpoint identification algorithm to validate server hostname using server certificate. Use none or false to disable server hostname verification. title: SSL Endpoint Algorithm type: string default: https sslProtocol: description: The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. title: SSL Protocol type: string default: TLSv1.2 sslKeystoreLocation: description: The location of the key store file. This is optional for client and can be used for two-way authentication for client. title: SSL Keystore Location type: string sslTruststoreLocation: description: The location of the trust store file. title: SSL Truststore Location type: string sslEnabledProtocols: description: The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. title: SSL Enabled Protocols type: string default: TLSv1.2,TLSv1.1,TLSv1 saslJaasConfig: description: Java Authentication and Authorization Service (JAAS) for Simple Authentication and Security Layer (SASL) configuration. title: JAAS Configuration type: string batchSize: title: Batch Dimension description: The maximum number of records returned in a single call to poll() type: integer default: 500 pollTimeout: title: Poll Timeout Interval description: The timeout used when polling the KafkaConsumer type: integer default: 5000 maxPollIntervalMs: title: Max Poll Interval description: The maximum delay between invocations of poll() when using consumer group management type: integer batchingIntervalMs: title: Batching Interval description: In consumer batching mode, then this option is specifying a time in millis, to trigger batch completion eager when the current batch size has not reached the maximum size defined by maxPollRecords. Notice the trigger is not exact at the given interval, as this can only happen between kafka polls (see pollTimeoutMs option). type: integer topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: beans: - name: kafka-ssl-source-local type: '#class:org.apache.camel.component.kafka.KafkaComponent' - name: manualCommitFactory type: "#class:org.apache.camel.component.kafka.consumer.DefaultKafkaManualCommitFactory" - name: kafka-ssl-source-configuration-local properties: brokers: '{{bootstrapServers}}' securityProtocol: '{{securityProtocol}}' sslKeystoreLocation: '{{sslKeystoreLocation}}' sslKeyPassword: '{{sslKeyPassword}}' sslKeystorePassword: '{{sslKeystorePassword}}' sslTruststoreLocation: '{{sslTruststoreLocation}}' sslProtocol: '{{sslProtocol}}' sslEnabledProtocols: '{{sslEnabledProtocols}}' sslEndpointAlgorithm: '{{sslEndpointAlgorithm}}' saslMechanism: '{{saslMechanism}}' groupId: '{{?consumerGroup}}' autoOffsetReset: '{{autoOffsetReset}}' pollOnError: '{{pollOnError}}' allowManualCommit: '{{allowManualCommit}}' autoCommitEnable: '{{autoCommitEnable}}' saslJaasConfig: '{{?saslJaasConfig}}' maxPollRecords: "{{batchSize}}" pollTimeoutMs: "{{pollTimeout}}" maxPollIntervalMs: "{{?maxPollIntervalMs}}" batchingIntervalMs: "{{?batchingIntervalMs}}" batching: true kafkaManualCommitFactory: "#bean:{{manualCommitFactory}}" topicIsPattern: "{{topicIsPattern}}" type: '#class:org.apache.camel.component.kafka.KafkaConfiguration' - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "{{kafka-ssl-source-local}}:{{topic}}" parameters: configuration: '#bean:{{kafka-ssl-source-configuration-local}}' steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-manual-commit-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Kafka Manual Commit Action" description: "Manually commit Kafka Offset." type: object dependencies: - "camel:kamelet" template: from: uri: kamelet:source steps: - bean: "org.apache.camel.component.kafka.ManualCommit" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-not-secured-apicurio-registry-json-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka not secured with Apicurio Registry secured with Keycloak for JSON schema support Source" description: Receive data from Kafka topics on an insecure broker combined with Apicurio Registry secured with Keycloak for JSON Schema support. required: - topic - bootstrapServers - apicurioRegistryUrl - apicurioAuthServiceUrl - apicurioAuthRealm - apicurioAuthClientId - apicurioAuthClientSecret - apicurioAuthUsername - apicurioAuthPassword type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true valueDeserializer: title: Value Deserializer description: Deserializer class for value that implements the Deserializer interface. type: string default: "io.apicurio.registry.serde.jsonschema.JsonSchemaKafkaDeserializer" apicurioRegistryUrl: title: Apicurio Registry URL description: The Apicurio Schema Registry URL type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required apicurioAuthServiceUrl: title: Apicurio Registry Auth Service URL description: The URL for Keycloak instance securing the Apicurio Registry type: string example: "http://my-keycloak.com:8080/" apicurioAuthRealm: title: Apicurio Registry Auth Realm description: The Realm in Keycloak instance securing the Apicurio Registry type: string apicurioAuthClientId: title: Apicurio Registry Auth Client ID description: The Client ID in Keycloak instance securing the Apicurio Registry type: string apicurioAuthClientSecret: title: Apicurio Registry Auth Client Secret description: The Client Secret in Keycloak instance securing the Apicurio Registry type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required apicurioAuthUsername: title: Apicurio Registry Auth Username description: The Username in Keycloak instance securing the Apicurio Registry type: string apicurioAuthPassword: title: Apicurio Registry Auth Password description: The Password in Keycloak instance securing the Apicurio Registry type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" - "mvn:io.apicurio:apicurio-registry-serdes-jsonschema-serde:2.5.11.Final" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" valueDeserializer: "{{valueDeserializer}}" topicIsPattern: "{{topicIsPattern}}" additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}" additionalProperties.apicurio.auth.service.url: "{{apicurioAuthServiceUrl}}" additionalProperties.apicurio.auth.realm: "{{apicurioAuthRealm}}" additionalProperties.apicurio.auth.client.id: "{{apicurioAuthClientId}}" additionalProperties.apicurio.auth.client.secret: "{{apicurioAuthClientSecret}}" additionalProperties.apicurio.auth.username: "{{apicurioAuthUsername}}" additionalProperties.apicurio.auth.password: "{{apicurioAuthPassword}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-not-secured-apicurio-registry-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Kafka Not Secured with Apicurio Registry secured with Keycloak Sink" description: Send data to Kafka topics on an insecure broker with Apicurio Registry secured with Keycloak. required: - topic - bootstrapServers - apicurioRegistryUrl - apicurioAuthServiceUrl - apicurioAuthRealm - apicurioAuthClientId - apicurioAuthClientSecret - apicurioAuthUsername - apicurioAuthPassword type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string valueSerializer: title: Value Serializer description: Serliazer class for value that implements the Serializer interface. type: string default: "io.apicurio.registry.serde.avro.AvroKafkaSerializer" apicurioRegistryUrl: title: Apicurio Registry URL description: The Apicurio Schema Registry URL type: string x-descriptors: - urn:keda:metadata:apicurioRegistryUrl - urn:keda:required avroDatumProvider: title: Avro Datum Provider description: How to write data with Avro type: string default: "io.apicurio.registry.serde.avro.ReflectAvroDatumProvider" apicurioAuthServiceUrl: title: Apicurio Registry Auth Service URL description: The URL for Keycloak instance securing the Apicurio Registry type: string example: "http://my-keycloak.com:8080/" apicurioAuthRealm: title: Apicurio Registry Auth Realm description: The Realm in Keycloak instance securing the Apicurio Registry type: string apicurioAuthClientId: title: Apicurio Registry Auth Client ID description: The Client ID in Keycloak instance securing the Apicurio Registry type: string apicurioAuthClientSecret: title: Apicurio Registry Auth Client Secret description: The Client Secret in Keycloak instance securing the Apicurio Registry type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required apicurioAuthUsername: title: Apicurio Registry Auth Username description: The Username in Keycloak instance securing the Apicurio Registry type: string apicurioAuthPassword: title: Apicurio Registry Auth Password description: The Password in Keycloak instance securing the Apicurio Registry type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required dependencies: - "camel:core" - "camel:kamelet" - "camel:kafka" - "mvn:io.apicurio:apicurio-registry-serdes-avro-serde:2.4.14.Final" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[key]}" steps: - setHeader: name: kafka.KEY simple: "${header[key]}" - simple: "${header[ce-key]}" steps: - setHeader: name: kafka.KEY simple: "${header[ce-key]}" - choice: when: - simple: "${header[partition-key]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[partition-key]}" - simple: "${header[ce-partitionkey]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[ce-partitionkey]}" - to: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" valueSerializer: "{{valueSerializer}}" additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}" additionalProperties.apicurio.registry.avro-datum-provider: "{{avroDatumProvider}}" additionalProperties.apicurio.auth.service.url: "{{apicurioAuthServiceUrl}}" additionalProperties.apicurio.auth.realm: "{{apicurioAuthRealm}}" additionalProperties.apicurio.auth.client.id: "{{apicurioAuthClientId}}" additionalProperties.apicurio.auth.client.secret: "{{apicurioAuthClientSecret}}" additionalProperties.apicurio.auth.username: "{{apicurioAuthUsername}}" additionalProperties.apicurio.auth.password: "{{apicurioAuthPassword}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-not-secured-apicurio-registry-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka not secured with Apicurio Registry secured with Keycloak Source" description: Receive data from Kafka topics on an insecure broker combined with Apicurio Registry secured with Keycloak. required: - topic - bootstrapServers - apicurioRegistryUrl - apicurioAuthServiceUrl - apicurioAuthRealm - apicurioAuthClientId - apicurioAuthClientSecret - apicurioAuthUsername - apicurioAuthPassword type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true valueDeserializer: title: Value Deserializer description: Deserializer class for value that implements the Deserializer interface. type: string default: "io.apicurio.registry.serde.avro.AvroKafkaDeserializer" apicurioRegistryUrl: title: Apicurio Registry URL description: The Apicurio Schema Registry URL type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required avroDatumProvider: title: Avro Datum Provider description: How to read data with Avro type: string default: "io.apicurio.registry.serde.avro.ReflectAvroDatumProvider" apicurioAuthServiceUrl: title: Apicurio Registry Auth Service URL description: The URL for Keycloak instance securing the Apicurio Registry type: string example: "http://my-keycloak.com:8080/" apicurioAuthRealm: title: Apicurio Registry Auth Realm description: The Realm in Keycloak instance securing the Apicurio Registry type: string apicurioAuthClientId: title: Apicurio Registry Auth Client ID description: The Client ID in Keycloak instance securing the Apicurio Registry type: string apicurioAuthClientSecret: title: Apicurio Registry Auth Client Secret description: The Client Secret in Keycloak instance securing the Apicurio Registry type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required apicurioAuthUsername: title: Apicurio Registry Auth Username description: The Username in Keycloak instance securing the Apicurio Registry type: string apicurioAuthPassword: title: Apicurio Registry Auth Password description: The Password in Keycloak instance securing the Apicurio Registry type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" - "mvn:io.quarkus:quarkus-apicurio-registry-avro:3.24.2" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" valueDeserializer: "{{valueDeserializer}}" topicIsPattern: "{{topicIsPattern}}" additionalProperties.apicurio.registry.url: "{{apicurioRegistryUrl}}" additionalProperties.apicurio.registry.avro-datum-provider: "{{avroDatumProvider}}" additionalProperties.apicurio.auth.service.url: "{{apicurioAuthServiceUrl}}" additionalProperties.apicurio.auth.realm: "{{apicurioAuthRealm}}" additionalProperties.apicurio.auth.client.id: "{{apicurioAuthClientId}}" additionalProperties.apicurio.auth.client.secret: "{{apicurioAuthClientSecret}}" additionalProperties.apicurio.auth.username: "{{apicurioAuthUsername}}" additionalProperties.apicurio.auth.password: "{{apicurioAuthPassword}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-not-secured-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Kafka Not Secured Sink" description: Send data to Kafka topics on an insecure broker. required: - topic - bootstrapServers type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[key]}" steps: - setHeader: name: kafka.KEY simple: "${header[key]}" - simple: "${header[ce-key]}" steps: - setHeader: name: kafka.KEY simple: "${header[ce-key]}" - choice: when: - simple: "${header[partition-key]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[partition-key]}" - simple: "${header[ce-partitionkey]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[ce-partitionkey]}" - to: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-not-secured-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Not Secured Source" description: Receive data from Kafka topics on an insecure broker. required: - topic - bootstrapServers type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:kafka" - "camel:core" - "camel:kamelet" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" topicIsPattern: "{{topicIsPattern}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-scram-sink annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Kafka Scram Sink" description: Send data to Kafka topics through SCRAM login module. required: - topic - bootstrapServers - user - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names. type: string bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs. type: string securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported. type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: SCRAM-SHA-512 user: title: Username description: Username to authenticate to Kafka . type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to authenticate to kafka. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[key]}" steps: - setHeader: name: kafka.KEY simple: "${header[key]}" - simple: "${header[ce-key]}" steps: - setHeader: name: kafka.KEY simple: "${header[ce-key]}" - choice: when: - simple: "${header[partition-key]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[partition-key]}" - simple: "${header[ce-partitionkey]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[ce-partitionkey]}" - to: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.scram.ScramLoginModule required username="{{user}}" password="{{password}}";' --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-scram-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" camel.apache.org/keda.authentication.sasl: "scram-sha-512" camel.apache.org/keda.authentication.tls: "enable" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Scram Source" description: Receive data from Kafka topics through SCRAM login module. required: - topic - bootstrapServers - user - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: SCRAM-SHA-512 user: title: Username description: Username to authenticate to Kafka type: string x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:username - urn:keda:required password: title: Password description: Password to authenticate to kafka type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "kafka:{{topic}}" parameters: brokers: "{{?bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.scram.ScramLoginModule required username="{{user}}" password="{{password}}";' autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" topicIsPattern: "{{topicIsPattern}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Kafka Sink" description: Send data to Kafka topics through Plain Login Module. required: - topic - bootstrapServers - user - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: PLAIN user: title: Username description: Username to authenticate to Kafka type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to authenticate to kafka type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[key]}" steps: - setHeader: name: kafka.KEY simple: "${header[key]}" - simple: "${header[ce-key]}" steps: - setHeader: name: kafka.KEY simple: "${header[ce-key]}" - choice: when: - simple: "${header[partition-key]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[partition-key]}" - simple: "${header[ce-partitionkey]}" steps: - setHeader: name: kafka.PARTITION_KEY simple: "${header[ce-partitionkey]}" - to: uri: "kafka:{{topic}}" parameters: brokers: "{{bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="{{user}}" password="{{password}}";' --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" camel.apache.org/keda.type: "kafka" camel.apache.org/keda.authentication.sasl: "plaintext" camel.apache.org/keda.authentication.tls: "enable" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka Source" description: Receive data from Kafka topics through Plain Login Module. required: - topic - bootstrapServers - user - password type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported type: string default: SASL_SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: PLAIN user: title: Username description: Username to authenticate to Kafka type: string x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:username - urn:keda:required password: title: Password description: Password to authenticate to kafka type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP` type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: beans: - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "kafka:{{topic}}" parameters: brokers: "{{?bootstrapServers}}" securityProtocol: "{{securityProtocol}}" saslMechanism: "{{saslMechanism}}" saslJaasConfig: 'org.apache.kafka.common.security.plain.PlainLoginModule required username="{{user}}" password="{{password}}";' autoCommitEnable: "{{autoCommitEnable}}" allowManualCommit: "{{allowManualCommit}}" pollOnError: "{{pollOnError}}" autoOffsetReset: "{{autoOffsetReset}}" groupId: "{{?consumerGroup}}" topicIsPattern: "{{topicIsPattern}}" steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-ssl-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "sink" spec: definition: description: Send data to Kafka topics wit TLS/SSL support. required: - topic - bootstrapServers - sslKeystoreLocation - sslKeystorePassword - sslTruststoreLocation - sslTruststorePassword - sslKeyPassword properties: bootstrapServers: description: Comma separated list of Kafka Broker URLs title: Brokers type: string sslKeystoreLocation: description: >- The location of the key store file. This is optional for client and can be used for two-way authentication for client. title: SSL Keystore Location type: string sslProtocol: default: TLSv1.2 description: >- The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. title: SSL Protocol type: string saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: GSSAPI sslEnabledProtocols: default: TLSv1.2,TLSv1.1,TLSv1 description: >- The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. title: SSL Enabled Protocols type: string sslKeystorePassword: description: >- The store password for the key store file.This is optional for client and only needed if ssl.keystore.location is configured. title: SSL Keystore Password type: string format: password x-descriptors: - urn:camel:group:credentials sslTruststoreLocation: description: The location of the trust store file. title: SSL Truststore Location type: string sslTruststorePassword: description: The store password for the trust store file. title: SSL Truststore Password type: string format: password x-descriptors: - urn:camel:group:credentials sslKeyPassword: description: The password of the private key in the key store file. title: SSL Key Password type: string format: password x-descriptors: - urn:camel:group:credentials sslEndpointAlgorithm: description: The endpoint identification algorithm to validate server hostname using server certificate. Use none or false to disable server hostname verification. title: SSL Endpoint Algorithm type: string default: https topic: description: Comma separated list of Kafka topic names title: Topic Names type: string securityProtocol: default: SSL description: >- Protocol used to communicate with brokers. SASL_PLAINTEXT, PLAINTEXT, SASL_SSL and SSL are supported title: Security Protocol type: string title: Kafka SSL Sink type: object dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: beans: - name: kafka-ssl-sink-local type: '#class:org.apache.camel.component.kafka.KafkaComponent' - name: kafka-ssl-sink-configuration-local properties: brokers: '{{bootstrapServers}}' securityProtocol: '{{securityProtocol}}' sslKeystoreLocation: '{{sslKeystoreLocation}}' sslKeyPassword: '{{sslKeyPassword}}' sslKeystorePassword: '{{sslKeystorePassword}}' sslTruststoreLocation: '{{sslTruststoreLocation}}' sslTruststorePassword: '{{sslTruststorePassword}}' sslProtocol: '{{sslProtocol}}' sslEnabledProtocols: '{{sslEnabledProtocols}}' sslEndpointAlgorithm: '{{sslEndpointAlgorithm}}' saslMechanism: '{{saslMechanism}}' type: '#class:org.apache.camel.component.kafka.KafkaConfiguration' from: uri: "kamelet:source" steps: - choice: when: - simple: ${header[key]} steps: - setHeader: name: kafka.KEY simple: ${header[key]} - simple: ${header[ce-key]} steps: - setHeader: name: kafka.KEY simple: ${header[ce-key]} - choice: when: - simple: ${header[partition-key]} steps: - setHeader: name: kafka.PARTITION_KEY simple: ${header[partition-key]} - simple: ${header[ce-partitionkey]} steps: - setHeader: name: kafka.PARTITION_KEY simple: ${header[ce-partitionkey]} - to: uri: '{{kafka-ssl-sink-local}}:{{topic}}' parameters: configuration: '#bean:{{kafka-ssl-sink-configuration-local}}' --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kafka-ssl-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4wLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCA1MDAgNTAwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MDAgNTAwOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8ZyBpZD0iWE1MSURfMV8iPg0KCTxwYXRoIGlkPSJYTUxJRF85XyIgZD0iTTMxNC44LDI2OS43Yy0xNC4yLDAtMjcsNi4zLTM1LjcsMTYuMkwyNTYuOCwyNzBjMi40LTYuNSwzLjctMTMuNiwzLjctMjAuOWMwLTcuMi0xLjMtMTQuMS0zLjYtMjAuNg0KCQlsMjIuMy0xNS43YzguNyw5LjksMjEuNCwxNi4xLDM1LjYsMTYuMWMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNnMtMjEuMy00Ny42LTQ3LjYtNDcuNnMtNDcuNiwyMS4zLTQ3LjYsNDcuNg0KCQljMCw0LjcsMC43LDkuMiwyLDEzLjVsLTIyLjMsMTUuN2MtOS4zLTExLjYtMjIuOC0xOS42LTM4LjEtMjIuMXYtMjYuOWMyMS42LTQuNSwzNy44LTIzLjcsMzcuOC00Ni42YzAtMjYuMi0yMS4zLTQ3LjYtNDcuNi00Ny42DQoJCWMtMjYuMiwwLTQ3LjYsMjEuMy00Ny42LDQ3LjZjMCwyMi42LDE1LjgsNDEuNSwzNi45LDQ2LjN2MjcuM2MtMjguOCw1LjEtNTAuOCwzMC4yLTUwLjgsNjAuNWMwLDMwLjQsMjIuMiw1NS43LDUxLjIsNjAuNXYyOC44DQoJCWMtMjEuMyw0LjctMzcuNCwyMy43LTM3LjQsNDYuNGMwLDI2LjIsMjEuMyw0Ny42LDQ3LjYsNDcuNmMyNi4yLDAsNDcuNi0yMS4zLDQ3LjYtNDcuNmMwLTIyLjctMTYtNDEuOC0zNy40LTQ2LjR2LTI4LjgNCgkJYzE1LTIuNSwyOC4yLTEwLjQsMzcuNC0yMS44bDIyLjUsMTUuOWMtMS4yLDQuMy0xLjksOC43LTEuOSwxMy40YzAsMjYuMiwyMS4zLDQ3LjYsNDcuNiw0Ny42czQ3LjYtMjEuMyw0Ny42LTQ3LjYNCgkJQzM2Mi40LDI5MSwzNDEuMSwyNjkuNywzMTQuOCwyNjkuN3ogTTMxNC44LDE1OC40YzEyLjcsMCwyMy4xLDEwLjQsMjMuMSwyMy4xYzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xcy0yMy4xLTEwLjQtMjMuMS0yMy4xDQoJCUMyOTEuOCwxNjguOCwzMDIuMSwxNTguNCwzMTQuOCwxNTguNHogTTE3NiwxMTUuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMWMxMi43LDAsMjMuMSwxMC40LDIzLjEsMjMuMQ0KCQljMCwxMi43LTEwLjMsMjMuMS0yMy4xLDIzLjFDMTg2LjMsMTM4LjIsMTc2LDEyNy44LDE3NiwxMTUuMXogTTIyMi4xLDM4NC45YzAsMTIuNy0xMC4zLDIzLjEtMjMuMSwyMy4xDQoJCWMtMTIuNywwLTIzLjEtMTAuNC0yMy4xLTIzLjFjMC0xMi43LDEwLjMtMjMuMSwyMy4xLTIzLjFDMjExLjgsMzYxLjgsMjIyLjEsMzcyLjIsMjIyLjEsMzg0Ljl6IE0xOTkuMSwyODEuMw0KCQljLTE3LjcsMC0zMi4yLTE0LjQtMzIuMi0zMi4yYzAtMTcuNywxNC40LTMyLjIsMzIuMi0zMi4yYzE3LjcsMCwzMi4yLDE0LjQsMzIuMiwzMi4yQzIzMS4yLDI2Ni45LDIxNi44LDI4MS4zLDE5OS4xLDI4MS4zeg0KCQkgTTMxNC44LDM0MC4zYy0xMi43LDAtMjMuMS0xMC40LTIzLjEtMjMuMWMwLTEyLjcsMTAuMy0yMy4xLDIzLjEtMjMuMXMyMy4xLDEwLjQsMjMuMSwyMy4xQzMzNy45LDMzMCwzMjcuNSwzNDAuMywzMTQuOCwzNDAuM3oiLz4NCjwvZz4NCjwvc3ZnPg0K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kafka" camel.apache.org/kamelet.namespace: "Kafka" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kafka SSL Source" description: Receive data from Kafka topics with SSL/TLS support required: - topic - bootstrapServers - sslTruststoreLocation - sslTruststorePassword - sslKeyPassword type: object properties: topic: title: Topic Names description: Comma separated list of Kafka topic names. type: string x-descriptors: - urn:keda:metadata:topic - urn:keda:required bootstrapServers: title: Bootstrap Servers description: Comma separated list of Kafka Broker URLs. type: string x-descriptors: - urn:keda:metadata:bootstrapServers - urn:keda:required securityProtocol: title: Security Protocol description: Protocol used to communicate with brokers. `SASL_PLAINTEXT`, `PLAINTEXT`, `SASL_SSL` and `SSL` are supported. type: string default: SSL saslMechanism: title: SASL Mechanism description: The Simple Authentication and Security Layer (SASL) Mechanism used. type: string default: GSSAPI autoCommitEnable: title: Auto Commit Enable description: If true, periodically commit to ZooKeeper the offset of messages already fetched by the consumer. type: boolean default: true allowManualCommit: title: Allow Manual Commit description: Whether to allow doing manual commits. type: boolean default: false pollOnError: title: Poll On Error Behavior description: What to do if kafka threw an exception while polling for new messages. There are 5 enums and the value can be one of `DISCARD`, `ERROR_HANDLER`, `RECONNECT`, `RETRY`, `STOP`. type: string default: "ERROR_HANDLER" autoOffsetReset: title: Auto Offset Reset description: What to do when there is no initial offset. There are 3 enums and the value can be one of latest, earliest, none. type: string default: "latest" x-descriptors: - urn:keda:metadata:offsetResetPolicy consumerGroup: title: Consumer Group description: A string that uniquely identifies the group of consumers to which this source belongs. type: string example: "my-group-id" x-descriptors: - urn:keda:metadata:consumerGroup - urn:keda:required deserializeHeaders: title: Automatically Deserialize Headers description: When enabled the Kamelet source will deserialize all message headers to String representation. type: boolean default: true sslKeyPassword: description: The password of the private key in the key store file. title: SSL Key Password type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password - urn:keda:required sslKeystorePassword: description: The store password for the key store file.This is optional for client and only needed if ssl.keystore.location is configured. title: SSL Keystore Password type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password sslEndpointAlgorithm: description: The endpoint identification algorithm to validate server hostname using server certificate. Use none or false to disable server hostname verification. title: SSL Endpoint Algorithm type: string default: https sslProtocol: description: The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.1 and TLSv1.2. SSL, SSLv2 and SSLv3 may be supported in older JVMs, but their usage is discouraged due to known security vulnerabilities. title: SSL Protocol type: string default: TLSv1.2 sslKeystoreLocation: description: The location of the key store file. This is optional for client and can be used for two-way authentication for client. title: SSL Keystore Location type: string sslTruststoreLocation: description: The location of the trust store file. title: SSL Truststore Location type: string sslTruststorePassword: description: The store password for the trust store file. title: SSL Truststore Password type: string format: password x-descriptors: - urn:camel:group:credentials - urn:keda:authentication:password sslEnabledProtocols: description: The list of protocols enabled for SSL connections. TLSv1.2, TLSv1.1 and TLSv1 are enabled by default. title: SSL Enabled Protocols type: string default: TLSv1.2,TLSv1.1,TLSv1 saslJaasConfig: description: Java Authentication and Authorization Service (JAAS) for Simple Authentication and Security Layer (SASL) configuration. title: JAAS Configuration type: string topicIsPattern: title: Topic Is Pattern description: Whether the topic is a pattern (regular expression). This can be used to subscribe to dynamic number of topics matching the pattern. type: boolean default: false dependencies: - "camel:core" - "camel:kafka" - "camel:kamelet" template: beans: - name: kafka-ssl-source-local type: '#class:org.apache.camel.component.kafka.KafkaComponent' - name: kafka-ssl-source-configuration-local properties: brokers: '{{bootstrapServers}}' securityProtocol: '{{securityProtocol}}' sslKeystoreLocation: '{{sslKeystoreLocation}}' sslKeyPassword: '{{sslKeyPassword}}' sslKeystorePassword: '{{sslKeystorePassword}}' sslTruststoreLocation: '{{sslTruststoreLocation}}' sslTruststorePassword: '{{sslTruststorePassword}}' sslProtocol: '{{sslProtocol}}' sslEnabledProtocols: '{{sslEnabledProtocols}}' sslEndpointAlgorithm: '{{sslEndpointAlgorithm}}' saslMechanism: '{{saslMechanism}}' groupId: '{{?consumerGroup}}' autoOffsetReset: '{{autoOffsetReset}}' pollOnError: '{{pollOnError}}' allowManualCommit: '{{allowManualCommit}}' autoCommitEnable: '{{autoCommitEnable}}' saslJaasConfig: '{{?saslJaasConfig}}' topicIsPattern: '{{topicIsPattern}}' type: '#class:org.apache.camel.component.kafka.KafkaConfiguration' - name: kafkaHeaderDeserializer type: "#class:org.apache.camel.component.kafka.KafkaHeaderDeserializer" properties: enabled: '{{deserializeHeaders}}' from: uri: "{{kafka-ssl-source-local}}:{{topic}}" parameters: configuration: '#bean:{{kafka-ssl-source-configuration-local}}' steps: - process: ref: "{{kafkaHeaderDeserializer}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kubernetes-namespaces-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iNzIyLjg0NTciCiAgIGhlaWdodD0iNzAxLjk2NjM3IgogICBpZD0ic3ZnMiIKICAgdmVyc2lvbj0iMS4xIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ4LjQgcjk5MzkiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImxvZ28uc3ZnIgogICBpbmtzY2FwZTpleHBvcnQtZmlsZW5hbWU9Ii9ob21lL3Rob2NraW4vc3JjL2t1YmVybmV0ZXMvbmV3LnBuZyIKICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjQ2MC45NTAwMSIKICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjQ2MC45NTAwMSI+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjE2LjE5MDUwOSIKICAgICBpbmtzY2FwZTpjeD0iMjc3LjU2ODUxIgogICAgIGlua3NjYXBlOmN5PSIxNTcuNTQ0OTQiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9InB4IgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImczMDUyIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE1MTkiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODIyIgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1MSIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjUiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpzbmFwLWdsb2JhbD0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02LjMyNjA5NDIsLTE3NC43NTI0KSI+CiAgICA8ZwogICAgICAgaWQ9ImczMDUyIj4KICAgICAgPHBhdGgKICAgICAgICAgc3R5bGU9ImZpbGw6IzMyNmNlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBkPSJtIDM2NS4zMTI1LDE4NC44MTI1IGEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAtMTcuOTA2MjUsNC41MzEyNSBsIC0yNDQuMzQzNzUsMTE2Ljc1IGEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAtMjUuMjgxMjUsMzEuNDM3NSBMIDE3LjUsNTk5Ljc4MTI1IEEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAyMy44NDM3NSw2MzUuMzEyNSA0Ni43MjQ2MjEsNDYuMzQyMjQ2IDAgMCAwIDI2LjUsNjM5IGwgMTY5LjEyNSwyMTAuMjgxMjUgYSA0Ni43MjQ2MjEsNDYuMzQyMjQ2IDAgMCAwIDM2LjUzMTI1LDE3LjQzNzUgTCA1MDMuMzc1LDg2Ni42NTYyNSBBIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgNTM5LjkwNjI1LDg0OS4yNSBMIDcwOC45Njg3NSw2MzguOTM3NSBBIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgNzE4LDU5OS43MTg3NSBsIC02MC4zNzUsLTI2Mi4yNSBhIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgLTI1LjI4MTI1LC0zMS40Mzc1IGwgLTI0NC4zNzUsLTExNi42ODc1IEEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAzNjUuMzEyNSwxODQuODEyNSB6IgogICAgICAgICBpZD0icGF0aDMwNTUiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT0ibmV3LnBuZyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjI1MC41NSIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjI1MC41NSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgzMDU5IgogICAgICAgICBkPSJtIDM2Ny43MzM2NiwyNzQuMDU5NjIgYyAtOC4wNzY5Niw4LjJlLTQgLTE0LjYyNTk2LDcuMjc1OTEgLTE0LjYyNSwxNi4yNSAxZS01LDAuMTM3NzMgMC4wMjgyLDAuMjY5MzQgMC4wMzEyLDAuNDA2MjUgLTAuMDExOSwxLjIxOTM2IC0wLjA3MDgsMi42ODgzNiAtMC4wMzEyLDMuNzUgMC4xOTI2Miw1LjE3NiAxLjMyMDksOS4xMzc0OSAyLDEzLjkwNjI1IDEuMjMwMjgsMTAuMjA2NjYgMi4yNjExNywxOC42NjczNiAxLjYyNSwyNi41MzEyNSAtMC42MTg2OSwyLjk2NTQgLTIuODAyODgsNS42Nzc0MSAtNC43NSw3LjU2MjUgbCAtMC4zNDM3NSw2LjE4NzUgYyAtOC43NzY4MiwwLjcyNzE3IC0xNy42MTIzNSwyLjA1ODc0IC0yNi40Mzc1LDQuMDYyNSAtMzcuOTc0NjEsOC42MjIxOCAtNzAuNjcwMDgsMjguMTgzMDcgLTk1LjU2MjUsNTQuNTkzNzUgLTEuNjE1MjIsLTEuMTAxOTMgLTQuNDQxMDMsLTMuMTI5MTQgLTUuMjgxMywtMy43NSAtMi42MTExNywwLjM1MjYyIC01LjI1MDIxLDEuMTU4MjkgLTguNjg3NSwtMC44NDM3NSAtNi41NDQ5MSwtNC40MDU2MyAtMTIuNTA1ODcsLTEwLjQ4NjkzIC0xOS43MTg3NSwtMTcuODEyNSAtMy4zMDQ5OCwtMy41MDQxOSAtNS42OTgzMiwtNi44NDEwMSAtOS42MjUsLTEwLjIxODc1IC0wLjg5MTcyLC0wLjc2NzA3IC0yLjI1MjU4LC0xLjgwNDU1IC0zLjI1LC0yLjU5Mzc1IC0zLjA2OTg4LC0yLjQ0NzU3IC02LjY5MDcsLTMuNzI0MDIgLTEwLjE4NzUsLTMuODQzNzUgLTQuNDk1ODksLTAuMTUzOTQgLTguODIzOTQsMS42MDM4NSAtMTEuNjU2MjUsNS4xNTYyNSAtNS4wMzUyMSw2LjMxNTM4IC0zLjQyMzEyLDE1Ljk2ODA1IDMuNTkzNzUsMjEuNTYyNSAwLjA3MTIsMC4wNTY3IDAuMTQ3MDIsMC4xMDA3OCAwLjIxODc1LDAuMTU2MjUgMC45NjQyMiwwLjc4MTYyIDIuMTQ0OTYsMS43ODMxMyAzLjAzMTI1LDIuNDM3NSA0LjE2Njg3LDMuMDc2NTUgNy45NzMyLDQuNjUxNDUgMTIuMTI1LDcuMDkzNzUgOC43NDcsNS40MDE4MSAxNS45OTgzNyw5Ljg4MDg2IDIxLjc1LDE1LjI4MTI1IDIuMjQ2MDIsMi4zOTQxNyAyLjYzODU4LDYuNjEyOTIgMi45Mzc1LDguNDM3NSBsIDQuNjg3NSw0LjE4NzUgYyAtMjUuMDkzNDIsMzcuNzYzNjggLTM2LjcwNjg2LDg0LjQwOTQ2IC0yOS44NDM3LDEzMS45Mzc1IGwgLTYuMTI1LDEuNzgxMjUgYyAtMS42MTQzLDIuMDg0NjEgLTMuODk1NDEsNS4zNjQ3NCAtNi4yODEzLDYuMzQzNzUgLTcuNTI1MTMsMi4zNzAyMSAtMTUuOTk0MjQsMy4yNDA1OSAtMjYuMjE4NzUsNC4zMTI1IC00LjgwMDMxLDAuMzk5MTUgLTguOTQyMTgsMC4xNjA5NSAtMTQuMDMxMjUsMS4xMjUgLTEuMTIwMDgsMC4yMTIxOCAtMi42ODA3MiwwLjYxODc3IC0zLjkwNjI1LDAuOTA2MjUgLTAuMDQyNiwwLjAwOSAtMC4wODI0LDAuMDIxNiAtMC4xMjUsMC4wMzEyIC0wLjA2NjgsMC4wMTU1IC0wLjE1NDU2LDAuMDQ3OSAtMC4yMTg3NSwwLjA2MjUgLTguNjIwMTQsMi4wODI3OSAtMTQuMTU3NzQsMTAuMDA2IC0xMi4zNzUsMTcuODEyNSAxLjc4MzE2LDcuODA4MzMgMTAuMjAzMTQsMTIuNTU2NzcgMTguODc1LDEwLjY4NzUgMC4wNjI2LC0wLjAxNDMgMC4xNTM1LC0wLjAxNjcgMC4yMTg3NSwtMC4wMzEyIDAuMDk3OSwtMC4wMjI0IDAuMTg0MDksLTAuMDY5OSAwLjI4MTI1LC0wLjA5MzcgMS4yMDg4NSwtMC4yNjUzNiAyLjcyMzc3LC0wLjU2MDYgMy43ODEyNSwtMC44NDM3NSA1LjAwMzM0LC0xLjMzOTYzIDguNjI2OTQsLTMuMzA3OTYgMTMuMTI1LC01LjAzMTI1IDkuNjc2OTQsLTMuNDcwNzcgMTcuNjkxNzMsLTYuMzcwMjIgMjUuNSwtNy41IDMuMjYxMTgsLTAuMjU1NDIgNi42OTcxMSwyLjAxMjE2IDguNDA2MjUsMi45Njg3NSBsIDYuMzc1LC0xLjA5Mzc1IGMgMTQuNjcwMTgsNDUuNDgyODIgNDUuNDE0MTYsODIuMjQ1MDIgODQuMzQzNzUsMTA1LjMxMjUgbCAtMi42NTYyNSw2LjM3NSBjIDAuOTU3NDIsMi40NzU0MiAyLjAxMzQxLDUuODI0NyAxLjMwMDIyLDguMjY5MzIgLTIuODM4NjgsNy4zNjEyIC03LjcwMDk3LDE1LjEzMDk3IC0xMy4yMzc3MiwyMy43OTMxOCAtMi42ODA4NSw0LjAwMTkyIC01LjQyNDUzLDcuMTA3NjEgLTcuODQzNzUsMTEuNjg3NSAtMC41Nzg5LDEuMDk1ODkgLTEuMzE2MTgsMi43NzkzMiAtMS44NzUsMy45Mzc1IC0zLjc1ODg0LDguMDQyMzYgLTEuMDAxNjQsMTcuMzA1MiA2LjIxODc1LDIwLjc4MTI1IDcuMjY1NzUsMy40OTc4OCAxNi4yODQ0NywtMC4xOTEzNCAyMC4xODc1LC04LjI1IDAuMDA2LC0wLjAxMTQgMC4wMjU3LC0wLjAxOTggMC4wMzEyLC0wLjAzMTIgMC4wMDQsLTAuMDA5IC0wLjAwNCwtMC4wMjI1IDAsLTAuMDMxMiAwLjU1NTkzLC0xLjE0MjU1IDEuMzQzNTMsLTIuNjQ0MzcgMS44MTI1LC0zLjcxODc1IDIuMDcyMTMsLTQuNzQ3MDIgMi43NjE2MSwtOC44MTUwNiA0LjIxODc1LC0xMy40MDYyNSAzLjg2OTYyLC05LjcyMDE0IDUuOTk1NjcsLTE5LjkxOTAzIDExLjMyMjU4LC0yNi4yNzQxMSAxLjQ1ODY4LC0xLjc0MDIzIDMuODM2ODEsLTIuNDA5NSA2LjMwMjQyLC0zLjA2OTY0IGwgMy4zMTI1LC02IGMgMzMuOTM4MjQsMTMuMDI2OCA3MS45MjY2NiwxNi41MjI0NiAxMDkuODc1LDcuOTA2MjUgOC42NTY5NywtMS45NjU1NyAxNy4wMTQ0NCwtNC41MDk0NSAyNS4wOTM3NSwtNy41NjI1IDAuOTMwOTgsMS42NTEzMyAyLjY2MTEzLDQuODI1NyAzLjEyNSw1LjYyNSAyLjUwNTU5LDAuODE1MTggNS4yNDA0NCwxLjIzNjE0IDcuNDY4NzUsNC41MzEyNSAzLjk4NTM5LDYuODA4OTggNi43MTA5LDE0Ljg2NDE2IDEwLjAzMTI1LDI0LjU5Mzc1IDEuNDU3MzgsNC41OTExMSAyLjE3NzYyLDguNjU5MzMgNC4yNSwxMy40MDYyNSAwLjQ3MjM0LDEuMDgxOTUgMS4yNTYsMi42MDQ4NiAxLjgxMjUsMy43NSAzLjg5NDgyLDguMDg0ODQgMTIuOTQyMTIsMTEuNzg2NjcgMjAuMjE4NzUsOC4yODEyNSA3LjIxOTUsLTMuNDc3OSA5Ljk3OTc0LC0xMi43Mzk5IDYuMjE4NzUsLTIwLjc4MTI1IC0wLjU1ODg5LC0xLjE1ODE0IC0xLjMyNzMsLTIuODQxNjQgLTEuOTA2MjUsLTMuOTM3NSAtMi40MTk0NiwtNC41Nzk3NiAtNS4xNjI3LC03LjY1NDQ4IC03Ljg0Mzc1LC0xMS42NTYyNSAtNS41MzcyMSwtOC42NjE5MiAtMTAuMTI5NjgsLTE1Ljg1NzcgLTEyLjk2ODc1LC0yMy4yMTg3NSAtMS4xODcxMSwtMy43OTY1NyAwLjIwMDI4LC02LjE1Nzc0IDEuMTI1LC04LjYyNSAtMC41NTM3OCwtMC42MzQ3NyAtMS43Mzg4MSwtNC4yMjAwOSAtMi40Mzc1LC01LjkwNjI1IDQwLjQ1NzQsLTIzLjg4ODE2IDcwLjI5ODU2LC02Mi4wMjEyOSA4NC4zMTI1LC0xMDYuMDYyNSAxLjg5MjQsMC4yOTc0MiA1LjE4MTU0LDAuODc5MzYgNi4yNSwxLjA5Mzc1IDIuMTk5NTQsLTEuNDUwNyA0LjIyMTk0LC0zLjM0MzUyIDguMTg3NSwtMy4wMzEyNSA3LjgwODMyLDEuMTI5MzcgMTUuODIyODgsNC4wMjk3MyAyNS41LDcuNSA0LjQ5ODE1LDEuNzIzMDYgOC4xMjE2LDMuNzIzMTMgMTMuMTI1LDUuMDYyNSAxLjA1NzQ5LDAuMjgzMDkgMi41NzIzOCwwLjU0NzIgMy43ODEyNSwwLjgxMjUgMC4wOTcyLDAuMDIzOCAwLjE4MzMsMC4wNzE0IDAuMjgxMjUsMC4wOTM3IDAuMDY1MywwLjAxNDYgMC4xNTYxNSwwLjAxNjkgMC4yMTg3NSwwLjAzMTIgOC42NzIzNiwxLjg2Njk1IDE3LjA5Mzg0LC0yLjg3ODcxIDE4Ljg3NSwtMTAuNjg3NSAxLjc4MDc0LC03LjgwNjk2IC0zLjc1NDMsLTE1LjczMjAxIC0xMi4zNzUsLTE3LjgxMjUgLTEuMjUzOTMsLTAuMjg1MTMgLTMuMDMyMjUsLTAuNzY5MzggLTQuMjUsLTEgLTUuMDg5MTIsLTAuOTYzNzggLTkuMjMwOTIsLTAuNzI2MSAtMTQuMDMxMjUsLTEuMTI1IC0xMC4yMjQ1NiwtMS4wNzEzOCAtMTguNjkzNSwtMS45NDI2OSAtMjYuMjE4NzUsLTQuMzEyNSAtMy4wNjgyNiwtMS4xOTAyOCAtNS4yNTEwMywtNC44NDEyNCAtNi4zMTI1NSwtNi4zNDM3NSBsIC01LjkwNjI1LC0xLjcxODc1IGMgMy4wNjIyNiwtMjIuMTU0NDIgMi4yMzY1NSwtNDUuMjExMzQgLTMuMDYyNSwtNjguMjgxMjUgLTUuMzQ4MzksLTIzLjI4NDcxIC0xNC44MDAzNywtNDQuNTgwODQgLTI3LjQwNjI1LC02My4zNDM3NSAxLjUxNTA1LC0xLjM3NzI5IDQuMzc2MTksLTMuOTEwOTEgNS4xODc1LC00LjY1NjI1IDAuMjM3MTYsLTIuNjI0MTcgMC4wMzM0LC01LjM3NTUzIDIuNzUsLTguMjgxMjUgNS43NTEzNCwtNS40MDA2OSAxMy4wMDMyOSwtOS44Nzg5OCAyMS43NSwtMTUuMjgxMjUgNC4xNTE2NywtMi40NDI1MiA3Ljk4OTU0LC00LjAxNjk4IDEyLjE1NjI1LC03LjA5Mzc1IDAuOTQyMjUsLTAuNjk1NzYgMi4yMjg5LC0xLjc5NzU5IDMuMjE4NzUsLTIuNTkzNzUgNy4wMTUzOCwtNS41OTYzMyA4LjYzMDU4LC0xNS4yNDg0MiAzLjU5Mzc1LC0yMS41NjI1IC01LjAzNjgzLC02LjMxNDA4IC0xNC43OTcxMiwtNi45MDg4MyAtMjEuODEyNSwtMS4zMTI1IC0wLjk5ODU2LDAuNzkwODUgLTIuMzUzNTMsMS44MjI1MiAtMy4yNSwyLjU5Mzc1IC0zLjkyNjUsMy4zNzc5NiAtNi4zNTE0NSw2LjcxNDM5IC05LjY1NjI1LDEwLjIxODc1IC03LjIxMjQ5LDcuMzI1OTUgLTEzLjE3NDA3LDEzLjQzNzc3IC0xOS43MTg3NSwxNy44NDM3NSAtMi44MzYwMSwxLjY1MTA2IC02Ljk4OTk2LDEuMDc5NzggLTguODc1MDUsMC45Njg3NSBsIC01LjU2MjUsMy45Njg3NSBjIC0zMS43MTg4LC0zMy4yNjA1NyAtNzQuOTA0NjYsLTU0LjUyNTQ2IC0xMjEuNDA2MDUsLTU4LjY1NjMgLTAuMTMwMDYsLTEuOTQ4NzIgLTAuMzAwNDUsLTUuNDcxMTcgLTAuMzQzNzUsLTYuNTMxMjUgLTEuOTAzNzEsLTEuODIxNjUgLTQuMjAzNDIsLTMuMzc2ODYgLTQuNzgxMjUsLTcuMzEyNSAtMC42MzYxNywtNy44NjM4OSAwLjQyNTk3LC0xNi4zMjQ1OSAxLjY1NjI1LC0yNi41MzEyNSAwLjY3OTEsLTQuNzY4NzYgMS44MDczOCwtOC43MzAyNSAyLC0xMy45MDYyNSAwLjA0MzgsLTEuMTc2NjMgLTAuMDI2NSwtMi44ODQwMSAtMC4wMzEyLC00LjE1NjI1IC05LjZlLTQsLTguOTc0MDkgLTYuNTQ4MDQsLTE2LjI1MDgyIC0xNC42MjUsLTE2LjI1IHogbSAtMTguMzEyNSwxMTMuNDM3NSAtNC4zNDM3NSw3Ni43MTg3NSAtMC4zMTI1LDAuMTU2MjUgYyAtMC4yOTEzNCw2Ljg2MzM1IC01LjkzOTk2LDEyLjM0Mzc1IC0xMi44NzUsMTIuMzQzNzUgLTIuODQwODEsMCAtNS40NjI5NCwtMC45MTIyOSAtNy41OTM3NSwtMi40Njg3NSBsIC0wLjEyNSwwLjA2MjUgLTYyLjkwNjI1LC00NC41OTM3NSBjIDE5LjMzMzY1LC0xOS4wMTExNSA0NC4wNjI5MSwtMzMuMDYwMzkgNzIuNTYyNSwtMzkuNTMxMjUgNS4yMDU5OSwtMS4xODIwMyAxMC40MDk2NiwtMi4wNTkxIDE1LjU5Mzc1LC0yLjY4NzUgeiBtIDM2LjY1NjI1LDAgYyAzMy4yNzM0Nyw0LjA5MjMyIDY0LjA0NTAxLDE5LjE1ODgyIDg3LjYyNSw0Mi4yNSBsIC02Mi41LDQ0LjMxMjUgLTAuMjE4NzUsLTAuMDkzNyBjIC01LjU0NzQ1LDQuMDUxNjkgLTEzLjM2MzQzLDMuMDQ2MzkgLTE3LjY4NzUsLTIuMzc1IC0xLjc3MTMyLC0yLjIyMDk2IC0yLjcwMDcyLC00LjgzMjM5IC0yLjgxMjUsLTcuNDY4NzUgbCAtMC4wNjI1LC0wLjAzMTIgeiBtIC0xNDcuNjI1LDcwLjg3NSA1Ny40Mzc1LDUxLjM3NSAtMC4wNjI1LDAuMzEyNSBjIDUuMTg0MzcsNC41MDY5NyA1Ljk0ODg4LDEyLjMyNzk0IDEuNjI1LDE3Ljc1IC0xLjc3MTIsMi4yMjEwNSAtNC4xNDIwOCwzLjcxMDc0IC02LjY4NzUsNC40MDYyNSBsIC0wLjA2MjUsMC4yNSAtNzMuNjI1LDIxLjI1IGMgLTMuNzQ3MjgsLTM0LjI2NTE3IDQuMzI4NTUsLTY3LjU3MzY0IDIxLjM3NSwtOTUuMzQzNzUgeiBtIDI1OC4xNTYyNSwwLjAzMTIgYyA4LjUzNDEsMTMuODMyNTYgMTQuOTk2NTUsMjkuMjgyMTQgMTguODQzNzUsNDYuMDMxMjUgMy44MDEwNiwxNi41NDgyOCA0Ljc1NDk5LDMzLjA2Njk3IDMuMTg3NSw0OS4wMzEyNSBsIC03NCwtMjEuMzEyNSAtMC4wNjI1LC0wLjMxMjUgYyAtNi42MjY1LC0xLjgxMTA0IC0xMC42OTg5MywtOC41NTE2MiAtOS4xNTYyNSwtMTUuMzEyNSAwLjYzMjAzLC0yLjc2OTYyIDIuMTAyMjIsLTUuMTEyNjQgNC4wOTM3NSwtNi44NDM3NSBsIC0wLjAzMTIsLTAuMTU2MjUgNTcuMTI1LC01MS4xMjUgeiBtIC0xNDAuNjU2MjUsNTUuMzEyNSAyMy41MzEyNSwwIDE0LjYyNSwxOC4yODEyNSAtNS4yNSwyMi44MTI1IC0yMS4xMjUsMTAuMTU2MjUgLTIxLjE4NzUsLTEwLjE4NzUgLTUuMjUsLTIyLjgxMjUgeiBtIDc1LjQzNzUsNjIuNTYyNSBjIDAuOTk5OTcsLTAuMDUwNSAxLjk5NTU4LDAuMDM5NiAyLjk2ODc1LDAuMjE4NzUgbCAwLjEyNSwtMC4xNTYyNSA3Ni4xNTYyNSwxMi44NzUgYyAtMTEuMTQ1NSwzMS4zMTMxIC0zMi40NzI4MSw1OC40NDAxOCAtNjAuOTY4NzUsNzYuNTkzNzUgbCAtMjkuNTYyNSwtNzEuNDA2MjUgMC4wOTM3LC0wLjEyNSBjIC0yLjcxNTYxLC02LjMwOTk5IDAuMDAyLC0xMy43MDk1NiA2LjI1LC0xNi43MTg3NSAxLjU5OTY1LC0wLjc3MDQxIDMuMjcwODksLTEuMTk3MDEgNC45Mzc1LC0xLjI4MTI1IHogbSAtMTI3LjkwNjI1LDAuMzEyNSBjIDUuODExNzQsMC4wODE1IDExLjAyNDYyLDQuMTE1MjUgMTIuMzc1LDEwLjAzMTI1IDAuNjMyMTksMi43Njk1OCAwLjMyNDUsNS41MTM3NSAtMC43MTg3NSw3LjkzNzUgbCAwLjIxODc1LDAuMjgxMjUgLTI5LjI1LDcwLjY4NzUgYyAtMjcuMzQ3MTYsLTE3LjU0ODYgLTQ5LjEyOTI3LC00My44MjQwMyAtNjAuNzgxMjUsLTc2LjA2MjQ1IGwgNzUuNSwtMTIuODEyNSAwLjEyNSwwLjE1NjI1IGMgMC44NDQ1MSwtMC4xNTU0MSAxLjcwMSwtMC4yMzA0IDIuNTMxMjUsLTAuMjE4NzUgeiBtIDYzLjc4MTI1LDMwLjk2ODggYyAyLjAyNDQ1LC0wLjA3NDQgNC4wNzg2NSwwLjM0MDk4IDYuMDMxMjUsMS4yODEyNSAyLjU1OTUxLDEuMjMyNTMgNC41MzY3MywzLjE3MzE5IDUuNzgxMjUsNS41IGwgMC4yODEyNSwwIDM3LjIxODc1LDY3LjI1IGMgLTQuODMwMjksMS42MTkyMyAtOS43OTYwOSwzLjAwMzA4IC0xNC44NzUsNC4xNTYyNSAtMjguNDY0NTMsNi40NjI5IC01Ni44Mzg2Miw0LjUwNDY3IC04Mi41MzEyNSwtNC4yNSBsIDM3LjEyNSwtNjcuMTI1IDAuMDYyNSwwIGMgMi4yMjc2NywtNC4xNjQ0MSA2LjQ1MjQ3LC02LjY0ODg3IDEwLjkwNjI1LC02LjgxMjUgeiIKICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTptZWRpdW07Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGluZS1oZWlnaHQ6bm9ybWFsO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7ZGlyZWN0aW9uOmx0cjtibG9jay1wcm9ncmVzc2lvbjp0Yjt3cml0aW5nLW1vZGU6bHItdGI7dGV4dC1hbmNob3I6c3RhcnQ7YmFzZWxpbmUtc2hpZnQ6YmFzZWxpbmU7Y29sb3I6IzAwMDAwMDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTttYXJrZXI6bm9uZTt2aXNpYmlsaXR5OnZpc2libGU7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTtlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlO2ZvbnQtZmFtaWx5OlNhbnM7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpTYW5zIgogICAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2Njc2NjY2NzY3NzY2NzY2NjY2NjY2NzY2Njc2NjY2NjY2NjY2NjY2Njc2NjY3Njc2Njc2NjY2NzY3Njc2NjY2NjY2Njc2NjY3Njc2NjY2NzY2NjY3Njc2NzY2NjY2NjY2NjY2NjY2Njc2NjY3NjY2NjY2NjY2NjY2NzY2NjY2NzY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NzY2Njc2NjY2NjY2NjY3NjY2NzY2NjYyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPSIuL3BhdGgzMDU5LnBuZyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjI1MC41NSIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjI1MC41NSIgLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kubernetes" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kubernetes Namespaces Source" description: Consume Events from Kubernetes Namespaces required: - token - masterUrl type: object properties: token: title: Oauth Token description: The Auth Token to connect to Kubernetes Cluster type: string format: password x-descriptors: - urn:camel:group:credentials masterUrl: title: Kubernetes Master URL description: The Kubernetes Cluster Master URL type: string types: out: mediaType: application/json dependencies: - "camel:kubernetes" - "camel:kamelet" - "camel:jackson" template: from: uri: "kubernetes-namespaces://{{masterUrl}}" parameters: oauthToken: "{{token}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kubernetes-nodes-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iNzIyLjg0NTciCiAgIGhlaWdodD0iNzAxLjk2NjM3IgogICBpZD0ic3ZnMiIKICAgdmVyc2lvbj0iMS4xIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ4LjQgcjk5MzkiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImxvZ28uc3ZnIgogICBpbmtzY2FwZTpleHBvcnQtZmlsZW5hbWU9Ii9ob21lL3Rob2NraW4vc3JjL2t1YmVybmV0ZXMvbmV3LnBuZyIKICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjQ2MC45NTAwMSIKICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjQ2MC45NTAwMSI+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjE2LjE5MDUwOSIKICAgICBpbmtzY2FwZTpjeD0iMjc3LjU2ODUxIgogICAgIGlua3NjYXBlOmN5PSIxNTcuNTQ0OTQiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9InB4IgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImczMDUyIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE1MTkiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODIyIgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1MSIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjUiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpzbmFwLWdsb2JhbD0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02LjMyNjA5NDIsLTE3NC43NTI0KSI+CiAgICA8ZwogICAgICAgaWQ9ImczMDUyIj4KICAgICAgPHBhdGgKICAgICAgICAgc3R5bGU9ImZpbGw6IzMyNmNlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBkPSJtIDM2NS4zMTI1LDE4NC44MTI1IGEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAtMTcuOTA2MjUsNC41MzEyNSBsIC0yNDQuMzQzNzUsMTE2Ljc1IGEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAtMjUuMjgxMjUsMzEuNDM3NSBMIDE3LjUsNTk5Ljc4MTI1IEEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAyMy44NDM3NSw2MzUuMzEyNSA0Ni43MjQ2MjEsNDYuMzQyMjQ2IDAgMCAwIDI2LjUsNjM5IGwgMTY5LjEyNSwyMTAuMjgxMjUgYSA0Ni43MjQ2MjEsNDYuMzQyMjQ2IDAgMCAwIDM2LjUzMTI1LDE3LjQzNzUgTCA1MDMuMzc1LDg2Ni42NTYyNSBBIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgNTM5LjkwNjI1LDg0OS4yNSBMIDcwOC45Njg3NSw2MzguOTM3NSBBIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgNzE4LDU5OS43MTg3NSBsIC02MC4zNzUsLTI2Mi4yNSBhIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgLTI1LjI4MTI1LC0zMS40Mzc1IGwgLTI0NC4zNzUsLTExNi42ODc1IEEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAzNjUuMzEyNSwxODQuODEyNSB6IgogICAgICAgICBpZD0icGF0aDMwNTUiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT0ibmV3LnBuZyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjI1MC41NSIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjI1MC41NSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgzMDU5IgogICAgICAgICBkPSJtIDM2Ny43MzM2NiwyNzQuMDU5NjIgYyAtOC4wNzY5Niw4LjJlLTQgLTE0LjYyNTk2LDcuMjc1OTEgLTE0LjYyNSwxNi4yNSAxZS01LDAuMTM3NzMgMC4wMjgyLDAuMjY5MzQgMC4wMzEyLDAuNDA2MjUgLTAuMDExOSwxLjIxOTM2IC0wLjA3MDgsMi42ODgzNiAtMC4wMzEyLDMuNzUgMC4xOTI2Miw1LjE3NiAxLjMyMDksOS4xMzc0OSAyLDEzLjkwNjI1IDEuMjMwMjgsMTAuMjA2NjYgMi4yNjExNywxOC42NjczNiAxLjYyNSwyNi41MzEyNSAtMC42MTg2OSwyLjk2NTQgLTIuODAyODgsNS42Nzc0MSAtNC43NSw3LjU2MjUgbCAtMC4zNDM3NSw2LjE4NzUgYyAtOC43NzY4MiwwLjcyNzE3IC0xNy42MTIzNSwyLjA1ODc0IC0yNi40Mzc1LDQuMDYyNSAtMzcuOTc0NjEsOC42MjIxOCAtNzAuNjcwMDgsMjguMTgzMDcgLTk1LjU2MjUsNTQuNTkzNzUgLTEuNjE1MjIsLTEuMTAxOTMgLTQuNDQxMDMsLTMuMTI5MTQgLTUuMjgxMywtMy43NSAtMi42MTExNywwLjM1MjYyIC01LjI1MDIxLDEuMTU4MjkgLTguNjg3NSwtMC44NDM3NSAtNi41NDQ5MSwtNC40MDU2MyAtMTIuNTA1ODcsLTEwLjQ4NjkzIC0xOS43MTg3NSwtMTcuODEyNSAtMy4zMDQ5OCwtMy41MDQxOSAtNS42OTgzMiwtNi44NDEwMSAtOS42MjUsLTEwLjIxODc1IC0wLjg5MTcyLC0wLjc2NzA3IC0yLjI1MjU4LC0xLjgwNDU1IC0zLjI1LC0yLjU5Mzc1IC0zLjA2OTg4LC0yLjQ0NzU3IC02LjY5MDcsLTMuNzI0MDIgLTEwLjE4NzUsLTMuODQzNzUgLTQuNDk1ODksLTAuMTUzOTQgLTguODIzOTQsMS42MDM4NSAtMTEuNjU2MjUsNS4xNTYyNSAtNS4wMzUyMSw2LjMxNTM4IC0zLjQyMzEyLDE1Ljk2ODA1IDMuNTkzNzUsMjEuNTYyNSAwLjA3MTIsMC4wNTY3IDAuMTQ3MDIsMC4xMDA3OCAwLjIxODc1LDAuMTU2MjUgMC45NjQyMiwwLjc4MTYyIDIuMTQ0OTYsMS43ODMxMyAzLjAzMTI1LDIuNDM3NSA0LjE2Njg3LDMuMDc2NTUgNy45NzMyLDQuNjUxNDUgMTIuMTI1LDcuMDkzNzUgOC43NDcsNS40MDE4MSAxNS45OTgzNyw5Ljg4MDg2IDIxLjc1LDE1LjI4MTI1IDIuMjQ2MDIsMi4zOTQxNyAyLjYzODU4LDYuNjEyOTIgMi45Mzc1LDguNDM3NSBsIDQuNjg3NSw0LjE4NzUgYyAtMjUuMDkzNDIsMzcuNzYzNjggLTM2LjcwNjg2LDg0LjQwOTQ2IC0yOS44NDM3LDEzMS45Mzc1IGwgLTYuMTI1LDEuNzgxMjUgYyAtMS42MTQzLDIuMDg0NjEgLTMuODk1NDEsNS4zNjQ3NCAtNi4yODEzLDYuMzQzNzUgLTcuNTI1MTMsMi4zNzAyMSAtMTUuOTk0MjQsMy4yNDA1OSAtMjYuMjE4NzUsNC4zMTI1IC00LjgwMDMxLDAuMzk5MTUgLTguOTQyMTgsMC4xNjA5NSAtMTQuMDMxMjUsMS4xMjUgLTEuMTIwMDgsMC4yMTIxOCAtMi42ODA3MiwwLjYxODc3IC0zLjkwNjI1LDAuOTA2MjUgLTAuMDQyNiwwLjAwOSAtMC4wODI0LDAuMDIxNiAtMC4xMjUsMC4wMzEyIC0wLjA2NjgsMC4wMTU1IC0wLjE1NDU2LDAuMDQ3OSAtMC4yMTg3NSwwLjA2MjUgLTguNjIwMTQsMi4wODI3OSAtMTQuMTU3NzQsMTAuMDA2IC0xMi4zNzUsMTcuODEyNSAxLjc4MzE2LDcuODA4MzMgMTAuMjAzMTQsMTIuNTU2NzcgMTguODc1LDEwLjY4NzUgMC4wNjI2LC0wLjAxNDMgMC4xNTM1LC0wLjAxNjcgMC4yMTg3NSwtMC4wMzEyIDAuMDk3OSwtMC4wMjI0IDAuMTg0MDksLTAuMDY5OSAwLjI4MTI1LC0wLjA5MzcgMS4yMDg4NSwtMC4yNjUzNiAyLjcyMzc3LC0wLjU2MDYgMy43ODEyNSwtMC44NDM3NSA1LjAwMzM0LC0xLjMzOTYzIDguNjI2OTQsLTMuMzA3OTYgMTMuMTI1LC01LjAzMTI1IDkuNjc2OTQsLTMuNDcwNzcgMTcuNjkxNzMsLTYuMzcwMjIgMjUuNSwtNy41IDMuMjYxMTgsLTAuMjU1NDIgNi42OTcxMSwyLjAxMjE2IDguNDA2MjUsMi45Njg3NSBsIDYuMzc1LC0xLjA5Mzc1IGMgMTQuNjcwMTgsNDUuNDgyODIgNDUuNDE0MTYsODIuMjQ1MDIgODQuMzQzNzUsMTA1LjMxMjUgbCAtMi42NTYyNSw2LjM3NSBjIDAuOTU3NDIsMi40NzU0MiAyLjAxMzQxLDUuODI0NyAxLjMwMDIyLDguMjY5MzIgLTIuODM4NjgsNy4zNjEyIC03LjcwMDk3LDE1LjEzMDk3IC0xMy4yMzc3MiwyMy43OTMxOCAtMi42ODA4NSw0LjAwMTkyIC01LjQyNDUzLDcuMTA3NjEgLTcuODQzNzUsMTEuNjg3NSAtMC41Nzg5LDEuMDk1ODkgLTEuMzE2MTgsMi43NzkzMiAtMS44NzUsMy45Mzc1IC0zLjc1ODg0LDguMDQyMzYgLTEuMDAxNjQsMTcuMzA1MiA2LjIxODc1LDIwLjc4MTI1IDcuMjY1NzUsMy40OTc4OCAxNi4yODQ0NywtMC4xOTEzNCAyMC4xODc1LC04LjI1IDAuMDA2LC0wLjAxMTQgMC4wMjU3LC0wLjAxOTggMC4wMzEyLC0wLjAzMTIgMC4wMDQsLTAuMDA5IC0wLjAwNCwtMC4wMjI1IDAsLTAuMDMxMiAwLjU1NTkzLC0xLjE0MjU1IDEuMzQzNTMsLTIuNjQ0MzcgMS44MTI1LC0zLjcxODc1IDIuMDcyMTMsLTQuNzQ3MDIgMi43NjE2MSwtOC44MTUwNiA0LjIxODc1LC0xMy40MDYyNSAzLjg2OTYyLC05LjcyMDE0IDUuOTk1NjcsLTE5LjkxOTAzIDExLjMyMjU4LC0yNi4yNzQxMSAxLjQ1ODY4LC0xLjc0MDIzIDMuODM2ODEsLTIuNDA5NSA2LjMwMjQyLC0zLjA2OTY0IGwgMy4zMTI1LC02IGMgMzMuOTM4MjQsMTMuMDI2OCA3MS45MjY2NiwxNi41MjI0NiAxMDkuODc1LDcuOTA2MjUgOC42NTY5NywtMS45NjU1NyAxNy4wMTQ0NCwtNC41MDk0NSAyNS4wOTM3NSwtNy41NjI1IDAuOTMwOTgsMS42NTEzMyAyLjY2MTEzLDQuODI1NyAzLjEyNSw1LjYyNSAyLjUwNTU5LDAuODE1MTggNS4yNDA0NCwxLjIzNjE0IDcuNDY4NzUsNC41MzEyNSAzLjk4NTM5LDYuODA4OTggNi43MTA5LDE0Ljg2NDE2IDEwLjAzMTI1LDI0LjU5Mzc1IDEuNDU3MzgsNC41OTExMSAyLjE3NzYyLDguNjU5MzMgNC4yNSwxMy40MDYyNSAwLjQ3MjM0LDEuMDgxOTUgMS4yNTYsMi42MDQ4NiAxLjgxMjUsMy43NSAzLjg5NDgyLDguMDg0ODQgMTIuOTQyMTIsMTEuNzg2NjcgMjAuMjE4NzUsOC4yODEyNSA3LjIxOTUsLTMuNDc3OSA5Ljk3OTc0LC0xMi43Mzk5IDYuMjE4NzUsLTIwLjc4MTI1IC0wLjU1ODg5LC0xLjE1ODE0IC0xLjMyNzMsLTIuODQxNjQgLTEuOTA2MjUsLTMuOTM3NSAtMi40MTk0NiwtNC41Nzk3NiAtNS4xNjI3LC03LjY1NDQ4IC03Ljg0Mzc1LC0xMS42NTYyNSAtNS41MzcyMSwtOC42NjE5MiAtMTAuMTI5NjgsLTE1Ljg1NzcgLTEyLjk2ODc1LC0yMy4yMTg3NSAtMS4xODcxMSwtMy43OTY1NyAwLjIwMDI4LC02LjE1Nzc0IDEuMTI1LC04LjYyNSAtMC41NTM3OCwtMC42MzQ3NyAtMS43Mzg4MSwtNC4yMjAwOSAtMi40Mzc1LC01LjkwNjI1IDQwLjQ1NzQsLTIzLjg4ODE2IDcwLjI5ODU2LC02Mi4wMjEyOSA4NC4zMTI1LC0xMDYuMDYyNSAxLjg5MjQsMC4yOTc0MiA1LjE4MTU0LDAuODc5MzYgNi4yNSwxLjA5Mzc1IDIuMTk5NTQsLTEuNDUwNyA0LjIyMTk0LC0zLjM0MzUyIDguMTg3NSwtMy4wMzEyNSA3LjgwODMyLDEuMTI5MzcgMTUuODIyODgsNC4wMjk3MyAyNS41LDcuNSA0LjQ5ODE1LDEuNzIzMDYgOC4xMjE2LDMuNzIzMTMgMTMuMTI1LDUuMDYyNSAxLjA1NzQ5LDAuMjgzMDkgMi41NzIzOCwwLjU0NzIgMy43ODEyNSwwLjgxMjUgMC4wOTcyLDAuMDIzOCAwLjE4MzMsMC4wNzE0IDAuMjgxMjUsMC4wOTM3IDAuMDY1MywwLjAxNDYgMC4xNTYxNSwwLjAxNjkgMC4yMTg3NSwwLjAzMTIgOC42NzIzNiwxLjg2Njk1IDE3LjA5Mzg0LC0yLjg3ODcxIDE4Ljg3NSwtMTAuNjg3NSAxLjc4MDc0LC03LjgwNjk2IC0zLjc1NDMsLTE1LjczMjAxIC0xMi4zNzUsLTE3LjgxMjUgLTEuMjUzOTMsLTAuMjg1MTMgLTMuMDMyMjUsLTAuNzY5MzggLTQuMjUsLTEgLTUuMDg5MTIsLTAuOTYzNzggLTkuMjMwOTIsLTAuNzI2MSAtMTQuMDMxMjUsLTEuMTI1IC0xMC4yMjQ1NiwtMS4wNzEzOCAtMTguNjkzNSwtMS45NDI2OSAtMjYuMjE4NzUsLTQuMzEyNSAtMy4wNjgyNiwtMS4xOTAyOCAtNS4yNTEwMywtNC44NDEyNCAtNi4zMTI1NSwtNi4zNDM3NSBsIC01LjkwNjI1LC0xLjcxODc1IGMgMy4wNjIyNiwtMjIuMTU0NDIgMi4yMzY1NSwtNDUuMjExMzQgLTMuMDYyNSwtNjguMjgxMjUgLTUuMzQ4MzksLTIzLjI4NDcxIC0xNC44MDAzNywtNDQuNTgwODQgLTI3LjQwNjI1LC02My4zNDM3NSAxLjUxNTA1LC0xLjM3NzI5IDQuMzc2MTksLTMuOTEwOTEgNS4xODc1LC00LjY1NjI1IDAuMjM3MTYsLTIuNjI0MTcgMC4wMzM0LC01LjM3NTUzIDIuNzUsLTguMjgxMjUgNS43NTEzNCwtNS40MDA2OSAxMy4wMDMyOSwtOS44Nzg5OCAyMS43NSwtMTUuMjgxMjUgNC4xNTE2NywtMi40NDI1MiA3Ljk4OTU0LC00LjAxNjk4IDEyLjE1NjI1LC03LjA5Mzc1IDAuOTQyMjUsLTAuNjk1NzYgMi4yMjg5LC0xLjc5NzU5IDMuMjE4NzUsLTIuNTkzNzUgNy4wMTUzOCwtNS41OTYzMyA4LjYzMDU4LC0xNS4yNDg0MiAzLjU5Mzc1LC0yMS41NjI1IC01LjAzNjgzLC02LjMxNDA4IC0xNC43OTcxMiwtNi45MDg4MyAtMjEuODEyNSwtMS4zMTI1IC0wLjk5ODU2LDAuNzkwODUgLTIuMzUzNTMsMS44MjI1MiAtMy4yNSwyLjU5Mzc1IC0zLjkyNjUsMy4zNzc5NiAtNi4zNTE0NSw2LjcxNDM5IC05LjY1NjI1LDEwLjIxODc1IC03LjIxMjQ5LDcuMzI1OTUgLTEzLjE3NDA3LDEzLjQzNzc3IC0xOS43MTg3NSwxNy44NDM3NSAtMi44MzYwMSwxLjY1MTA2IC02Ljk4OTk2LDEuMDc5NzggLTguODc1MDUsMC45Njg3NSBsIC01LjU2MjUsMy45Njg3NSBjIC0zMS43MTg4LC0zMy4yNjA1NyAtNzQuOTA0NjYsLTU0LjUyNTQ2IC0xMjEuNDA2MDUsLTU4LjY1NjMgLTAuMTMwMDYsLTEuOTQ4NzIgLTAuMzAwNDUsLTUuNDcxMTcgLTAuMzQzNzUsLTYuNTMxMjUgLTEuOTAzNzEsLTEuODIxNjUgLTQuMjAzNDIsLTMuMzc2ODYgLTQuNzgxMjUsLTcuMzEyNSAtMC42MzYxNywtNy44NjM4OSAwLjQyNTk3LC0xNi4zMjQ1OSAxLjY1NjI1LC0yNi41MzEyNSAwLjY3OTEsLTQuNzY4NzYgMS44MDczOCwtOC43MzAyNSAyLC0xMy45MDYyNSAwLjA0MzgsLTEuMTc2NjMgLTAuMDI2NSwtMi44ODQwMSAtMC4wMzEyLC00LjE1NjI1IC05LjZlLTQsLTguOTc0MDkgLTYuNTQ4MDQsLTE2LjI1MDgyIC0xNC42MjUsLTE2LjI1IHogbSAtMTguMzEyNSwxMTMuNDM3NSAtNC4zNDM3NSw3Ni43MTg3NSAtMC4zMTI1LDAuMTU2MjUgYyAtMC4yOTEzNCw2Ljg2MzM1IC01LjkzOTk2LDEyLjM0Mzc1IC0xMi44NzUsMTIuMzQzNzUgLTIuODQwODEsMCAtNS40NjI5NCwtMC45MTIyOSAtNy41OTM3NSwtMi40Njg3NSBsIC0wLjEyNSwwLjA2MjUgLTYyLjkwNjI1LC00NC41OTM3NSBjIDE5LjMzMzY1LC0xOS4wMTExNSA0NC4wNjI5MSwtMzMuMDYwMzkgNzIuNTYyNSwtMzkuNTMxMjUgNS4yMDU5OSwtMS4xODIwMyAxMC40MDk2NiwtMi4wNTkxIDE1LjU5Mzc1LC0yLjY4NzUgeiBtIDM2LjY1NjI1LDAgYyAzMy4yNzM0Nyw0LjA5MjMyIDY0LjA0NTAxLDE5LjE1ODgyIDg3LjYyNSw0Mi4yNSBsIC02Mi41LDQ0LjMxMjUgLTAuMjE4NzUsLTAuMDkzNyBjIC01LjU0NzQ1LDQuMDUxNjkgLTEzLjM2MzQzLDMuMDQ2MzkgLTE3LjY4NzUsLTIuMzc1IC0xLjc3MTMyLC0yLjIyMDk2IC0yLjcwMDcyLC00LjgzMjM5IC0yLjgxMjUsLTcuNDY4NzUgbCAtMC4wNjI1LC0wLjAzMTIgeiBtIC0xNDcuNjI1LDcwLjg3NSA1Ny40Mzc1LDUxLjM3NSAtMC4wNjI1LDAuMzEyNSBjIDUuMTg0MzcsNC41MDY5NyA1Ljk0ODg4LDEyLjMyNzk0IDEuNjI1LDE3Ljc1IC0xLjc3MTIsMi4yMjEwNSAtNC4xNDIwOCwzLjcxMDc0IC02LjY4NzUsNC40MDYyNSBsIC0wLjA2MjUsMC4yNSAtNzMuNjI1LDIxLjI1IGMgLTMuNzQ3MjgsLTM0LjI2NTE3IDQuMzI4NTUsLTY3LjU3MzY0IDIxLjM3NSwtOTUuMzQzNzUgeiBtIDI1OC4xNTYyNSwwLjAzMTIgYyA4LjUzNDEsMTMuODMyNTYgMTQuOTk2NTUsMjkuMjgyMTQgMTguODQzNzUsNDYuMDMxMjUgMy44MDEwNiwxNi41NDgyOCA0Ljc1NDk5LDMzLjA2Njk3IDMuMTg3NSw0OS4wMzEyNSBsIC03NCwtMjEuMzEyNSAtMC4wNjI1LC0wLjMxMjUgYyAtNi42MjY1LC0xLjgxMTA0IC0xMC42OTg5MywtOC41NTE2MiAtOS4xNTYyNSwtMTUuMzEyNSAwLjYzMjAzLC0yLjc2OTYyIDIuMTAyMjIsLTUuMTEyNjQgNC4wOTM3NSwtNi44NDM3NSBsIC0wLjAzMTIsLTAuMTU2MjUgNTcuMTI1LC01MS4xMjUgeiBtIC0xNDAuNjU2MjUsNTUuMzEyNSAyMy41MzEyNSwwIDE0LjYyNSwxOC4yODEyNSAtNS4yNSwyMi44MTI1IC0yMS4xMjUsMTAuMTU2MjUgLTIxLjE4NzUsLTEwLjE4NzUgLTUuMjUsLTIyLjgxMjUgeiBtIDc1LjQzNzUsNjIuNTYyNSBjIDAuOTk5OTcsLTAuMDUwNSAxLjk5NTU4LDAuMDM5NiAyLjk2ODc1LDAuMjE4NzUgbCAwLjEyNSwtMC4xNTYyNSA3Ni4xNTYyNSwxMi44NzUgYyAtMTEuMTQ1NSwzMS4zMTMxIC0zMi40NzI4MSw1OC40NDAxOCAtNjAuOTY4NzUsNzYuNTkzNzUgbCAtMjkuNTYyNSwtNzEuNDA2MjUgMC4wOTM3LC0wLjEyNSBjIC0yLjcxNTYxLC02LjMwOTk5IDAuMDAyLC0xMy43MDk1NiA2LjI1LC0xNi43MTg3NSAxLjU5OTY1LC0wLjc3MDQxIDMuMjcwODksLTEuMTk3MDEgNC45Mzc1LC0xLjI4MTI1IHogbSAtMTI3LjkwNjI1LDAuMzEyNSBjIDUuODExNzQsMC4wODE1IDExLjAyNDYyLDQuMTE1MjUgMTIuMzc1LDEwLjAzMTI1IDAuNjMyMTksMi43Njk1OCAwLjMyNDUsNS41MTM3NSAtMC43MTg3NSw3LjkzNzUgbCAwLjIxODc1LDAuMjgxMjUgLTI5LjI1LDcwLjY4NzUgYyAtMjcuMzQ3MTYsLTE3LjU0ODYgLTQ5LjEyOTI3LC00My44MjQwMyAtNjAuNzgxMjUsLTc2LjA2MjQ1IGwgNzUuNSwtMTIuODEyNSAwLjEyNSwwLjE1NjI1IGMgMC44NDQ1MSwtMC4xNTU0MSAxLjcwMSwtMC4yMzA0IDIuNTMxMjUsLTAuMjE4NzUgeiBtIDYzLjc4MTI1LDMwLjk2ODggYyAyLjAyNDQ1LC0wLjA3NDQgNC4wNzg2NSwwLjM0MDk4IDYuMDMxMjUsMS4yODEyNSAyLjU1OTUxLDEuMjMyNTMgNC41MzY3MywzLjE3MzE5IDUuNzgxMjUsNS41IGwgMC4yODEyNSwwIDM3LjIxODc1LDY3LjI1IGMgLTQuODMwMjksMS42MTkyMyAtOS43OTYwOSwzLjAwMzA4IC0xNC44NzUsNC4xNTYyNSAtMjguNDY0NTMsNi40NjI5IC01Ni44Mzg2Miw0LjUwNDY3IC04Mi41MzEyNSwtNC4yNSBsIDM3LjEyNSwtNjcuMTI1IDAuMDYyNSwwIGMgMi4yMjc2NywtNC4xNjQ0MSA2LjQ1MjQ3LC02LjY0ODg3IDEwLjkwNjI1LC02LjgxMjUgeiIKICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTptZWRpdW07Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGluZS1oZWlnaHQ6bm9ybWFsO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7ZGlyZWN0aW9uOmx0cjtibG9jay1wcm9ncmVzc2lvbjp0Yjt3cml0aW5nLW1vZGU6bHItdGI7dGV4dC1hbmNob3I6c3RhcnQ7YmFzZWxpbmUtc2hpZnQ6YmFzZWxpbmU7Y29sb3I6IzAwMDAwMDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTttYXJrZXI6bm9uZTt2aXNpYmlsaXR5OnZpc2libGU7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTtlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlO2ZvbnQtZmFtaWx5OlNhbnM7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpTYW5zIgogICAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2Njc2NjY2NzY3NzY2NzY2NjY2NjY2NzY2Njc2NjY2NjY2NjY2NjY2Njc2NjY3Njc2Njc2NjY2NzY3Njc2NjY2NjY2Njc2NjY3Njc2NjY2NzY2NjY3Njc2NzY2NjY2NjY2NjY2NjY2Njc2NjY3NjY2NjY2NjY2NjY2NzY2NjY2NzY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NzY2Njc2NjY2NjY2NjY3NjY2NzY2NjYyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPSIuL3BhdGgzMDU5LnBuZyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjI1MC41NSIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjI1MC41NSIgLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kubernetes" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kubernetes Nodes Source" description: Consume Events from Kubernetes Nodes required: - token - masterUrl type: object properties: token: title: Oauth Token description: The Auth Token to connect to Kubernetes Cluster type: string format: password x-descriptors: - urn:camel:group:credentials masterUrl: title: Kubernetes Master URL description: The Kubernetes Cluster Master URL type: string resourceName: title: Resource Name description: The Resource Name we want to watch type: string types: out: mediaType: application/json dependencies: - "camel:kubernetes" - "camel:kamelet" - "camel:jackson" template: from: uri: "kubernetes-nodes://{{masterUrl}}" parameters: oauthToken: "{{token}}" resourceName: "{{?resourceName}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: kubernetes-pods-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iCiAgIHhtbG5zOmNjPSJodHRwOi8vY3JlYXRpdmVjb21tb25zLm9yZy9ucyMiCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzb2RpcG9kaT0iaHR0cDovL3NvZGlwb2RpLnNvdXJjZWZvcmdlLm5ldC9EVEQvc29kaXBvZGktMC5kdGQiCiAgIHhtbG5zOmlua3NjYXBlPSJodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy9uYW1lc3BhY2VzL2lua3NjYXBlIgogICB3aWR0aD0iNzIyLjg0NTciCiAgIGhlaWdodD0iNzAxLjk2NjM3IgogICBpZD0ic3ZnMiIKICAgdmVyc2lvbj0iMS4xIgogICBpbmtzY2FwZTp2ZXJzaW9uPSIwLjQ4LjQgcjk5MzkiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImxvZ28uc3ZnIgogICBpbmtzY2FwZTpleHBvcnQtZmlsZW5hbWU9Ii9ob21lL3Rob2NraW4vc3JjL2t1YmVybmV0ZXMvbmV3LnBuZyIKICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjQ2MC45NTAwMSIKICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjQ2MC45NTAwMSI+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiIC8+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjE2LjE5MDUwOSIKICAgICBpbmtzY2FwZTpjeD0iMjc3LjU2ODUxIgogICAgIGlua3NjYXBlOmN5PSIxNTcuNTQ0OTQiCiAgICAgaW5rc2NhcGU6ZG9jdW1lbnQtdW5pdHM9InB4IgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9ImczMDUyIgogICAgIHNob3dncmlkPSJmYWxzZSIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjE1MTkiCiAgICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iODIyIgogICAgIGlua3NjYXBlOndpbmRvdy14PSI1MSIKICAgICBpbmtzY2FwZTp3aW5kb3cteT0iMjUiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMCIKICAgICBpbmtzY2FwZTpzbmFwLWdsb2JhbD0iZmFsc2UiCiAgICAgZml0LW1hcmdpbi10b3A9IjEwIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMTAiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMTAiCiAgICAgZml0LW1hcmdpbi1ib3R0b209IjEwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTciPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlIC8+CiAgICAgIDwvY2M6V29yaz4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6bGFiZWw9IkxheWVyIDEiCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXIxIgogICAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKC02LjMyNjA5NDIsLTE3NC43NTI0KSI+CiAgICA8ZwogICAgICAgaWQ9ImczMDUyIj4KICAgICAgPHBhdGgKICAgICAgICAgc3R5bGU9ImZpbGw6IzMyNmNlNTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6I2ZmZmZmZjtzdHJva2Utd2lkdGg6MDtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1vcGFjaXR5OjE7c3Ryb2tlLWRhc2hhcnJheTpub25lIgogICAgICAgICBkPSJtIDM2NS4zMTI1LDE4NC44MTI1IGEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAtMTcuOTA2MjUsNC41MzEyNSBsIC0yNDQuMzQzNzUsMTE2Ljc1IGEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAtMjUuMjgxMjUsMzEuNDM3NSBMIDE3LjUsNTk5Ljc4MTI1IEEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAyMy44NDM3NSw2MzUuMzEyNSA0Ni43MjQ2MjEsNDYuMzQyMjQ2IDAgMCAwIDI2LjUsNjM5IGwgMTY5LjEyNSwyMTAuMjgxMjUgYSA0Ni43MjQ2MjEsNDYuMzQyMjQ2IDAgMCAwIDM2LjUzMTI1LDE3LjQzNzUgTCA1MDMuMzc1LDg2Ni42NTYyNSBBIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgNTM5LjkwNjI1LDg0OS4yNSBMIDcwOC45Njg3NSw2MzguOTM3NSBBIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgNzE4LDU5OS43MTg3NSBsIC02MC4zNzUsLTI2Mi4yNSBhIDQ2LjcyNDYyMSw0Ni4zNDIyNDYgMCAwIDAgLTI1LjI4MTI1LC0zMS40Mzc1IGwgLTI0NC4zNzUsLTExNi42ODc1IEEgNDYuNzI0NjIxLDQ2LjM0MjI0NiAwIDAgMCAzNjUuMzEyNSwxODQuODEyNSB6IgogICAgICAgICBpZD0icGF0aDMwNTUiCiAgICAgICAgIGlua3NjYXBlOmNvbm5lY3Rvci1jdXJ2YXR1cmU9IjAiCiAgICAgICAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT0ibmV3LnBuZyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjI1MC41NSIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjI1MC41NSIgLz4KICAgICAgPHBhdGgKICAgICAgICAgaW5rc2NhcGU6Y29ubmVjdG9yLWN1cnZhdHVyZT0iMCIKICAgICAgICAgaWQ9InBhdGgzMDU5IgogICAgICAgICBkPSJtIDM2Ny43MzM2NiwyNzQuMDU5NjIgYyAtOC4wNzY5Niw4LjJlLTQgLTE0LjYyNTk2LDcuMjc1OTEgLTE0LjYyNSwxNi4yNSAxZS01LDAuMTM3NzMgMC4wMjgyLDAuMjY5MzQgMC4wMzEyLDAuNDA2MjUgLTAuMDExOSwxLjIxOTM2IC0wLjA3MDgsMi42ODgzNiAtMC4wMzEyLDMuNzUgMC4xOTI2Miw1LjE3NiAxLjMyMDksOS4xMzc0OSAyLDEzLjkwNjI1IDEuMjMwMjgsMTAuMjA2NjYgMi4yNjExNywxOC42NjczNiAxLjYyNSwyNi41MzEyNSAtMC42MTg2OSwyLjk2NTQgLTIuODAyODgsNS42Nzc0MSAtNC43NSw3LjU2MjUgbCAtMC4zNDM3NSw2LjE4NzUgYyAtOC43NzY4MiwwLjcyNzE3IC0xNy42MTIzNSwyLjA1ODc0IC0yNi40Mzc1LDQuMDYyNSAtMzcuOTc0NjEsOC42MjIxOCAtNzAuNjcwMDgsMjguMTgzMDcgLTk1LjU2MjUsNTQuNTkzNzUgLTEuNjE1MjIsLTEuMTAxOTMgLTQuNDQxMDMsLTMuMTI5MTQgLTUuMjgxMywtMy43NSAtMi42MTExNywwLjM1MjYyIC01LjI1MDIxLDEuMTU4MjkgLTguNjg3NSwtMC44NDM3NSAtNi41NDQ5MSwtNC40MDU2MyAtMTIuNTA1ODcsLTEwLjQ4NjkzIC0xOS43MTg3NSwtMTcuODEyNSAtMy4zMDQ5OCwtMy41MDQxOSAtNS42OTgzMiwtNi44NDEwMSAtOS42MjUsLTEwLjIxODc1IC0wLjg5MTcyLC0wLjc2NzA3IC0yLjI1MjU4LC0xLjgwNDU1IC0zLjI1LC0yLjU5Mzc1IC0zLjA2OTg4LC0yLjQ0NzU3IC02LjY5MDcsLTMuNzI0MDIgLTEwLjE4NzUsLTMuODQzNzUgLTQuNDk1ODksLTAuMTUzOTQgLTguODIzOTQsMS42MDM4NSAtMTEuNjU2MjUsNS4xNTYyNSAtNS4wMzUyMSw2LjMxNTM4IC0zLjQyMzEyLDE1Ljk2ODA1IDMuNTkzNzUsMjEuNTYyNSAwLjA3MTIsMC4wNTY3IDAuMTQ3MDIsMC4xMDA3OCAwLjIxODc1LDAuMTU2MjUgMC45NjQyMiwwLjc4MTYyIDIuMTQ0OTYsMS43ODMxMyAzLjAzMTI1LDIuNDM3NSA0LjE2Njg3LDMuMDc2NTUgNy45NzMyLDQuNjUxNDUgMTIuMTI1LDcuMDkzNzUgOC43NDcsNS40MDE4MSAxNS45OTgzNyw5Ljg4MDg2IDIxLjc1LDE1LjI4MTI1IDIuMjQ2MDIsMi4zOTQxNyAyLjYzODU4LDYuNjEyOTIgMi45Mzc1LDguNDM3NSBsIDQuNjg3NSw0LjE4NzUgYyAtMjUuMDkzNDIsMzcuNzYzNjggLTM2LjcwNjg2LDg0LjQwOTQ2IC0yOS44NDM3LDEzMS45Mzc1IGwgLTYuMTI1LDEuNzgxMjUgYyAtMS42MTQzLDIuMDg0NjEgLTMuODk1NDEsNS4zNjQ3NCAtNi4yODEzLDYuMzQzNzUgLTcuNTI1MTMsMi4zNzAyMSAtMTUuOTk0MjQsMy4yNDA1OSAtMjYuMjE4NzUsNC4zMTI1IC00LjgwMDMxLDAuMzk5MTUgLTguOTQyMTgsMC4xNjA5NSAtMTQuMDMxMjUsMS4xMjUgLTEuMTIwMDgsMC4yMTIxOCAtMi42ODA3MiwwLjYxODc3IC0zLjkwNjI1LDAuOTA2MjUgLTAuMDQyNiwwLjAwOSAtMC4wODI0LDAuMDIxNiAtMC4xMjUsMC4wMzEyIC0wLjA2NjgsMC4wMTU1IC0wLjE1NDU2LDAuMDQ3OSAtMC4yMTg3NSwwLjA2MjUgLTguNjIwMTQsMi4wODI3OSAtMTQuMTU3NzQsMTAuMDA2IC0xMi4zNzUsMTcuODEyNSAxLjc4MzE2LDcuODA4MzMgMTAuMjAzMTQsMTIuNTU2NzcgMTguODc1LDEwLjY4NzUgMC4wNjI2LC0wLjAxNDMgMC4xNTM1LC0wLjAxNjcgMC4yMTg3NSwtMC4wMzEyIDAuMDk3OSwtMC4wMjI0IDAuMTg0MDksLTAuMDY5OSAwLjI4MTI1LC0wLjA5MzcgMS4yMDg4NSwtMC4yNjUzNiAyLjcyMzc3LC0wLjU2MDYgMy43ODEyNSwtMC44NDM3NSA1LjAwMzM0LC0xLjMzOTYzIDguNjI2OTQsLTMuMzA3OTYgMTMuMTI1LC01LjAzMTI1IDkuNjc2OTQsLTMuNDcwNzcgMTcuNjkxNzMsLTYuMzcwMjIgMjUuNSwtNy41IDMuMjYxMTgsLTAuMjU1NDIgNi42OTcxMSwyLjAxMjE2IDguNDA2MjUsMi45Njg3NSBsIDYuMzc1LC0xLjA5Mzc1IGMgMTQuNjcwMTgsNDUuNDgyODIgNDUuNDE0MTYsODIuMjQ1MDIgODQuMzQzNzUsMTA1LjMxMjUgbCAtMi42NTYyNSw2LjM3NSBjIDAuOTU3NDIsMi40NzU0MiAyLjAxMzQxLDUuODI0NyAxLjMwMDIyLDguMjY5MzIgLTIuODM4NjgsNy4zNjEyIC03LjcwMDk3LDE1LjEzMDk3IC0xMy4yMzc3MiwyMy43OTMxOCAtMi42ODA4NSw0LjAwMTkyIC01LjQyNDUzLDcuMTA3NjEgLTcuODQzNzUsMTEuNjg3NSAtMC41Nzg5LDEuMDk1ODkgLTEuMzE2MTgsMi43NzkzMiAtMS44NzUsMy45Mzc1IC0zLjc1ODg0LDguMDQyMzYgLTEuMDAxNjQsMTcuMzA1MiA2LjIxODc1LDIwLjc4MTI1IDcuMjY1NzUsMy40OTc4OCAxNi4yODQ0NywtMC4xOTEzNCAyMC4xODc1LC04LjI1IDAuMDA2LC0wLjAxMTQgMC4wMjU3LC0wLjAxOTggMC4wMzEyLC0wLjAzMTIgMC4wMDQsLTAuMDA5IC0wLjAwNCwtMC4wMjI1IDAsLTAuMDMxMiAwLjU1NTkzLC0xLjE0MjU1IDEuMzQzNTMsLTIuNjQ0MzcgMS44MTI1LC0zLjcxODc1IDIuMDcyMTMsLTQuNzQ3MDIgMi43NjE2MSwtOC44MTUwNiA0LjIxODc1LC0xMy40MDYyNSAzLjg2OTYyLC05LjcyMDE0IDUuOTk1NjcsLTE5LjkxOTAzIDExLjMyMjU4LC0yNi4yNzQxMSAxLjQ1ODY4LC0xLjc0MDIzIDMuODM2ODEsLTIuNDA5NSA2LjMwMjQyLC0zLjA2OTY0IGwgMy4zMTI1LC02IGMgMzMuOTM4MjQsMTMuMDI2OCA3MS45MjY2NiwxNi41MjI0NiAxMDkuODc1LDcuOTA2MjUgOC42NTY5NywtMS45NjU1NyAxNy4wMTQ0NCwtNC41MDk0NSAyNS4wOTM3NSwtNy41NjI1IDAuOTMwOTgsMS42NTEzMyAyLjY2MTEzLDQuODI1NyAzLjEyNSw1LjYyNSAyLjUwNTU5LDAuODE1MTggNS4yNDA0NCwxLjIzNjE0IDcuNDY4NzUsNC41MzEyNSAzLjk4NTM5LDYuODA4OTggNi43MTA5LDE0Ljg2NDE2IDEwLjAzMTI1LDI0LjU5Mzc1IDEuNDU3MzgsNC41OTExMSAyLjE3NzYyLDguNjU5MzMgNC4yNSwxMy40MDYyNSAwLjQ3MjM0LDEuMDgxOTUgMS4yNTYsMi42MDQ4NiAxLjgxMjUsMy43NSAzLjg5NDgyLDguMDg0ODQgMTIuOTQyMTIsMTEuNzg2NjcgMjAuMjE4NzUsOC4yODEyNSA3LjIxOTUsLTMuNDc3OSA5Ljk3OTc0LC0xMi43Mzk5IDYuMjE4NzUsLTIwLjc4MTI1IC0wLjU1ODg5LC0xLjE1ODE0IC0xLjMyNzMsLTIuODQxNjQgLTEuOTA2MjUsLTMuOTM3NSAtMi40MTk0NiwtNC41Nzk3NiAtNS4xNjI3LC03LjY1NDQ4IC03Ljg0Mzc1LC0xMS42NTYyNSAtNS41MzcyMSwtOC42NjE5MiAtMTAuMTI5NjgsLTE1Ljg1NzcgLTEyLjk2ODc1LC0yMy4yMTg3NSAtMS4xODcxMSwtMy43OTY1NyAwLjIwMDI4LC02LjE1Nzc0IDEuMTI1LC04LjYyNSAtMC41NTM3OCwtMC42MzQ3NyAtMS43Mzg4MSwtNC4yMjAwOSAtMi40Mzc1LC01LjkwNjI1IDQwLjQ1NzQsLTIzLjg4ODE2IDcwLjI5ODU2LC02Mi4wMjEyOSA4NC4zMTI1LC0xMDYuMDYyNSAxLjg5MjQsMC4yOTc0MiA1LjE4MTU0LDAuODc5MzYgNi4yNSwxLjA5Mzc1IDIuMTk5NTQsLTEuNDUwNyA0LjIyMTk0LC0zLjM0MzUyIDguMTg3NSwtMy4wMzEyNSA3LjgwODMyLDEuMTI5MzcgMTUuODIyODgsNC4wMjk3MyAyNS41LDcuNSA0LjQ5ODE1LDEuNzIzMDYgOC4xMjE2LDMuNzIzMTMgMTMuMTI1LDUuMDYyNSAxLjA1NzQ5LDAuMjgzMDkgMi41NzIzOCwwLjU0NzIgMy43ODEyNSwwLjgxMjUgMC4wOTcyLDAuMDIzOCAwLjE4MzMsMC4wNzE0IDAuMjgxMjUsMC4wOTM3IDAuMDY1MywwLjAxNDYgMC4xNTYxNSwwLjAxNjkgMC4yMTg3NSwwLjAzMTIgOC42NzIzNiwxLjg2Njk1IDE3LjA5Mzg0LC0yLjg3ODcxIDE4Ljg3NSwtMTAuNjg3NSAxLjc4MDc0LC03LjgwNjk2IC0zLjc1NDMsLTE1LjczMjAxIC0xMi4zNzUsLTE3LjgxMjUgLTEuMjUzOTMsLTAuMjg1MTMgLTMuMDMyMjUsLTAuNzY5MzggLTQuMjUsLTEgLTUuMDg5MTIsLTAuOTYzNzggLTkuMjMwOTIsLTAuNzI2MSAtMTQuMDMxMjUsLTEuMTI1IC0xMC4yMjQ1NiwtMS4wNzEzOCAtMTguNjkzNSwtMS45NDI2OSAtMjYuMjE4NzUsLTQuMzEyNSAtMy4wNjgyNiwtMS4xOTAyOCAtNS4yNTEwMywtNC44NDEyNCAtNi4zMTI1NSwtNi4zNDM3NSBsIC01LjkwNjI1LC0xLjcxODc1IGMgMy4wNjIyNiwtMjIuMTU0NDIgMi4yMzY1NSwtNDUuMjExMzQgLTMuMDYyNSwtNjguMjgxMjUgLTUuMzQ4MzksLTIzLjI4NDcxIC0xNC44MDAzNywtNDQuNTgwODQgLTI3LjQwNjI1LC02My4zNDM3NSAxLjUxNTA1LC0xLjM3NzI5IDQuMzc2MTksLTMuOTEwOTEgNS4xODc1LC00LjY1NjI1IDAuMjM3MTYsLTIuNjI0MTcgMC4wMzM0LC01LjM3NTUzIDIuNzUsLTguMjgxMjUgNS43NTEzNCwtNS40MDA2OSAxMy4wMDMyOSwtOS44Nzg5OCAyMS43NSwtMTUuMjgxMjUgNC4xNTE2NywtMi40NDI1MiA3Ljk4OTU0LC00LjAxNjk4IDEyLjE1NjI1LC03LjA5Mzc1IDAuOTQyMjUsLTAuNjk1NzYgMi4yMjg5LC0xLjc5NzU5IDMuMjE4NzUsLTIuNTkzNzUgNy4wMTUzOCwtNS41OTYzMyA4LjYzMDU4LC0xNS4yNDg0MiAzLjU5Mzc1LC0yMS41NjI1IC01LjAzNjgzLC02LjMxNDA4IC0xNC43OTcxMiwtNi45MDg4MyAtMjEuODEyNSwtMS4zMTI1IC0wLjk5ODU2LDAuNzkwODUgLTIuMzUzNTMsMS44MjI1MiAtMy4yNSwyLjU5Mzc1IC0zLjkyNjUsMy4zNzc5NiAtNi4zNTE0NSw2LjcxNDM5IC05LjY1NjI1LDEwLjIxODc1IC03LjIxMjQ5LDcuMzI1OTUgLTEzLjE3NDA3LDEzLjQzNzc3IC0xOS43MTg3NSwxNy44NDM3NSAtMi44MzYwMSwxLjY1MTA2IC02Ljk4OTk2LDEuMDc5NzggLTguODc1MDUsMC45Njg3NSBsIC01LjU2MjUsMy45Njg3NSBjIC0zMS43MTg4LC0zMy4yNjA1NyAtNzQuOTA0NjYsLTU0LjUyNTQ2IC0xMjEuNDA2MDUsLTU4LjY1NjMgLTAuMTMwMDYsLTEuOTQ4NzIgLTAuMzAwNDUsLTUuNDcxMTcgLTAuMzQzNzUsLTYuNTMxMjUgLTEuOTAzNzEsLTEuODIxNjUgLTQuMjAzNDIsLTMuMzc2ODYgLTQuNzgxMjUsLTcuMzEyNSAtMC42MzYxNywtNy44NjM4OSAwLjQyNTk3LC0xNi4zMjQ1OSAxLjY1NjI1LC0yNi41MzEyNSAwLjY3OTEsLTQuNzY4NzYgMS44MDczOCwtOC43MzAyNSAyLC0xMy45MDYyNSAwLjA0MzgsLTEuMTc2NjMgLTAuMDI2NSwtMi44ODQwMSAtMC4wMzEyLC00LjE1NjI1IC05LjZlLTQsLTguOTc0MDkgLTYuNTQ4MDQsLTE2LjI1MDgyIC0xNC42MjUsLTE2LjI1IHogbSAtMTguMzEyNSwxMTMuNDM3NSAtNC4zNDM3NSw3Ni43MTg3NSAtMC4zMTI1LDAuMTU2MjUgYyAtMC4yOTEzNCw2Ljg2MzM1IC01LjkzOTk2LDEyLjM0Mzc1IC0xMi44NzUsMTIuMzQzNzUgLTIuODQwODEsMCAtNS40NjI5NCwtMC45MTIyOSAtNy41OTM3NSwtMi40Njg3NSBsIC0wLjEyNSwwLjA2MjUgLTYyLjkwNjI1LC00NC41OTM3NSBjIDE5LjMzMzY1LC0xOS4wMTExNSA0NC4wNjI5MSwtMzMuMDYwMzkgNzIuNTYyNSwtMzkuNTMxMjUgNS4yMDU5OSwtMS4xODIwMyAxMC40MDk2NiwtMi4wNTkxIDE1LjU5Mzc1LC0yLjY4NzUgeiBtIDM2LjY1NjI1LDAgYyAzMy4yNzM0Nyw0LjA5MjMyIDY0LjA0NTAxLDE5LjE1ODgyIDg3LjYyNSw0Mi4yNSBsIC02Mi41LDQ0LjMxMjUgLTAuMjE4NzUsLTAuMDkzNyBjIC01LjU0NzQ1LDQuMDUxNjkgLTEzLjM2MzQzLDMuMDQ2MzkgLTE3LjY4NzUsLTIuMzc1IC0xLjc3MTMyLC0yLjIyMDk2IC0yLjcwMDcyLC00LjgzMjM5IC0yLjgxMjUsLTcuNDY4NzUgbCAtMC4wNjI1LC0wLjAzMTIgeiBtIC0xNDcuNjI1LDcwLjg3NSA1Ny40Mzc1LDUxLjM3NSAtMC4wNjI1LDAuMzEyNSBjIDUuMTg0MzcsNC41MDY5NyA1Ljk0ODg4LDEyLjMyNzk0IDEuNjI1LDE3Ljc1IC0xLjc3MTIsMi4yMjEwNSAtNC4xNDIwOCwzLjcxMDc0IC02LjY4NzUsNC40MDYyNSBsIC0wLjA2MjUsMC4yNSAtNzMuNjI1LDIxLjI1IGMgLTMuNzQ3MjgsLTM0LjI2NTE3IDQuMzI4NTUsLTY3LjU3MzY0IDIxLjM3NSwtOTUuMzQzNzUgeiBtIDI1OC4xNTYyNSwwLjAzMTIgYyA4LjUzNDEsMTMuODMyNTYgMTQuOTk2NTUsMjkuMjgyMTQgMTguODQzNzUsNDYuMDMxMjUgMy44MDEwNiwxNi41NDgyOCA0Ljc1NDk5LDMzLjA2Njk3IDMuMTg3NSw0OS4wMzEyNSBsIC03NCwtMjEuMzEyNSAtMC4wNjI1LC0wLjMxMjUgYyAtNi42MjY1LC0xLjgxMTA0IC0xMC42OTg5MywtOC41NTE2MiAtOS4xNTYyNSwtMTUuMzEyNSAwLjYzMjAzLC0yLjc2OTYyIDIuMTAyMjIsLTUuMTEyNjQgNC4wOTM3NSwtNi44NDM3NSBsIC0wLjAzMTIsLTAuMTU2MjUgNTcuMTI1LC01MS4xMjUgeiBtIC0xNDAuNjU2MjUsNTUuMzEyNSAyMy41MzEyNSwwIDE0LjYyNSwxOC4yODEyNSAtNS4yNSwyMi44MTI1IC0yMS4xMjUsMTAuMTU2MjUgLTIxLjE4NzUsLTEwLjE4NzUgLTUuMjUsLTIyLjgxMjUgeiBtIDc1LjQzNzUsNjIuNTYyNSBjIDAuOTk5OTcsLTAuMDUwNSAxLjk5NTU4LDAuMDM5NiAyLjk2ODc1LDAuMjE4NzUgbCAwLjEyNSwtMC4xNTYyNSA3Ni4xNTYyNSwxMi44NzUgYyAtMTEuMTQ1NSwzMS4zMTMxIC0zMi40NzI4MSw1OC40NDAxOCAtNjAuOTY4NzUsNzYuNTkzNzUgbCAtMjkuNTYyNSwtNzEuNDA2MjUgMC4wOTM3LC0wLjEyNSBjIC0yLjcxNTYxLC02LjMwOTk5IDAuMDAyLC0xMy43MDk1NiA2LjI1LC0xNi43MTg3NSAxLjU5OTY1LC0wLjc3MDQxIDMuMjcwODksLTEuMTk3MDEgNC45Mzc1LC0xLjI4MTI1IHogbSAtMTI3LjkwNjI1LDAuMzEyNSBjIDUuODExNzQsMC4wODE1IDExLjAyNDYyLDQuMTE1MjUgMTIuMzc1LDEwLjAzMTI1IDAuNjMyMTksMi43Njk1OCAwLjMyNDUsNS41MTM3NSAtMC43MTg3NSw3LjkzNzUgbCAwLjIxODc1LDAuMjgxMjUgLTI5LjI1LDcwLjY4NzUgYyAtMjcuMzQ3MTYsLTE3LjU0ODYgLTQ5LjEyOTI3LC00My44MjQwMyAtNjAuNzgxMjUsLTc2LjA2MjQ1IGwgNzUuNSwtMTIuODEyNSAwLjEyNSwwLjE1NjI1IGMgMC44NDQ1MSwtMC4xNTU0MSAxLjcwMSwtMC4yMzA0IDIuNTMxMjUsLTAuMjE4NzUgeiBtIDYzLjc4MTI1LDMwLjk2ODggYyAyLjAyNDQ1LC0wLjA3NDQgNC4wNzg2NSwwLjM0MDk4IDYuMDMxMjUsMS4yODEyNSAyLjU1OTUxLDEuMjMyNTMgNC41MzY3MywzLjE3MzE5IDUuNzgxMjUsNS41IGwgMC4yODEyNSwwIDM3LjIxODc1LDY3LjI1IGMgLTQuODMwMjksMS42MTkyMyAtOS43OTYwOSwzLjAwMzA4IC0xNC44NzUsNC4xNTYyNSAtMjguNDY0NTMsNi40NjI5IC01Ni44Mzg2Miw0LjUwNDY3IC04Mi41MzEyNSwtNC4yNSBsIDM3LjEyNSwtNjcuMTI1IDAuMDYyNSwwIGMgMi4yMjc2NywtNC4xNjQ0MSA2LjQ1MjQ3LC02LjY0ODg3IDEwLjkwNjI1LC02LjgxMjUgeiIKICAgICAgICAgc3R5bGU9ImZvbnQtc2l6ZTptZWRpdW07Zm9udC1zdHlsZTpub3JtYWw7Zm9udC12YXJpYW50Om5vcm1hbDtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHJldGNoOm5vcm1hbDt0ZXh0LWluZGVudDowO3RleHQtYWxpZ246c3RhcnQ7dGV4dC1kZWNvcmF0aW9uOm5vbmU7bGluZS1oZWlnaHQ6bm9ybWFsO2xldHRlci1zcGFjaW5nOm5vcm1hbDt3b3JkLXNwYWNpbmc6bm9ybWFsO3RleHQtdHJhbnNmb3JtOm5vbmU7ZGlyZWN0aW9uOmx0cjtibG9jay1wcm9ncmVzc2lvbjp0Yjt3cml0aW5nLW1vZGU6bHItdGI7dGV4dC1hbmNob3I6c3RhcnQ7YmFzZWxpbmUtc2hpZnQ6YmFzZWxpbmU7Y29sb3I6IzAwMDAwMDtmaWxsOiNmZmZmZmY7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOiNmZmZmZmY7c3Ryb2tlLXdpZHRoOjAuMjU7c3Ryb2tlLW1pdGVybGltaXQ6NDtzdHJva2Utb3BhY2l0eToxO3N0cm9rZS1kYXNoYXJyYXk6bm9uZTttYXJrZXI6bm9uZTt2aXNpYmlsaXR5OnZpc2libGU7ZGlzcGxheTppbmxpbmU7b3ZlcmZsb3c6dmlzaWJsZTtlbmFibGUtYmFja2dyb3VuZDphY2N1bXVsYXRlO2ZvbnQtZmFtaWx5OlNhbnM7LWlua3NjYXBlLWZvbnQtc3BlY2lmaWNhdGlvbjpTYW5zIgogICAgICAgICBzb2RpcG9kaTpub2RldHlwZXM9ImNjY2NjY2Njc2NjY2NzY3NzY2NzY2NjY2NjY2NzY2Njc2NjY2NjY2NjY2NjY2Njc2NjY3Njc2Njc2NjY2NzY3Njc2NjY2NjY2Njc2NjY3Njc2NjY2NzY2NjY3Njc2NzY2NjY2NjY2NjY2NjY2Njc2NjY3NjY2NjY2NjY2NjY2NzY2NjY2NzY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NzY2Njc2NjY2NjY2NjY3NjY2NzY2NjYyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LWZpbGVuYW1lPSIuL3BhdGgzMDU5LnBuZyIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXhkcGk9IjI1MC41NSIKICAgICAgICAgaW5rc2NhcGU6ZXhwb3J0LXlkcGk9IjI1MC41NSIgLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Kubernetes" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Kubernetes Pods Source" description: Consume Events from Kubernetes Pods required: - token - masterUrl type: object properties: token: title: Oauth Token description: The Auth Token to connect to Kubernetes Cluster type: string format: password x-descriptors: - urn:camel:group:credentials masterUrl: title: Kubernetes Master URL description: The Kubernetes Cluster Master URL type: string resourceName: title: Resource Name description: The Resource Name we want to watch type: string types: out: mediaType: application/json dependencies: - "camel:kubernetes" - "camel:kamelet" - "camel:jackson" template: from: uri: "kubernetes-pods://{{masterUrl}}" parameters: oauthToken: "{{token}}" resourceName: "{{?resourceName}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: log-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZD0iTTQ0OCwwSDY0QzQ2LjMyOCwwLDMyLDE0LjMxMywzMiwzMnY0NDhjMCwxNy42ODgsMTQuMzI4LDMyLDMyLDMyaDM4NGMxNy42ODgsMCwzMi0xNC4zMTIsMzItMzJWMzINCgkJQzQ4MCwxNC4zMTMsNDY1LjY4OCwwLDQ0OCwweiBNNjQsNDgwVjEyOGg4MHY2NEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY4MEg2NHogTTQ0OCw0ODBIMTYwdi04MGgyNTZ2LTE2DQoJCUgxNjB2LTQ4aDI1NnYtMTZIMTYwdi00OGgyNTZ2LTE2SDE2MHYtNDhoMjU2di0xNkgxNjB2LTY0aDI4OFY0ODB6Ii8+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Logging" camel.apache.org/kamelet.namespace: "Logging" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Log Action" description: Logs all data that flows between source and sink, useful for debugging purposes. type: object properties: loggerName: title: Logger Name description: Name of the logging category to use. type: string default: "log-action" level: title: Log Level description: Logging level to use. type: string default: "INFO" enum: ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF"] logMask: title: Log Mask description: Mask sensitive information like password or passphrase in the log. type: boolean default: false marker: title: Marker description: An optional Marker name to use. type: string multiline: title: Multiline description: If enabled then each information is outputted on a newline. type: boolean default: false showAllProperties: title: Show All Properties description: Show all of the exchange properties (both internal and custom). type: boolean default: false showBody: title: Show Body description: Show the message body. type: boolean default: true showBodyType: title: Show Body Type description: Show the body Java type type: boolean default: true showExchangePattern: title: Show Exchange Pattern description: Shows the Message Exchange Pattern (or MEP for short) type: boolean default: true showHeaders: title: Show Headers description: Show the headers received type: boolean default: false showProperties: title: Show Properties description: Show the exchange properties (only custom). Use showAllProperties to show both internal and custom properties. type: boolean default: false showStreams: title: Show Streams description: Show the stream bodies (they may not be available in following steps) type: boolean default: false showCachedStreams: title: Show Cached Streams description: Whether Camel should show cached stream bodies or not. type: boolean default: true dependencies: - "camel:kamelet" - "camel:log" template: from: uri: "kamelet:source" steps: - to: uri: "log:{{loggerName}}" parameters: level: "{{?level}}" logMask: "{{?logMask}}" marker: "{{?marker}}" multiline: "{{?multiline}}" showAllProperties: "{{?showAllProperties}}" showBody: "{{?showBody}}" showBodyType: "{{?showBodyType}}" showExchangePattern: "{{?showExchangePattern}}" showHeaders: "{{?showHeaders}}" showProperties: "{{?showProperties}}" showStreams: "{{?showStreams}}" showCachedStreams: "{{?showCachedStreams}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: log-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE2LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPCFET0NUWVBFIHN2ZyBQVUJMSUMgIi0vL1czQy8vRFREIFNWRyAxLjEvL0VOIiAiaHR0cDovL3d3dy53My5vcmcvR3JhcGhpY3MvU1ZHLzEuMS9EVEQvc3ZnMTEuZHRkIj4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iQ2FwYV8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgd2lkdGg9IjUxMnB4IiBoZWlnaHQ9IjUxMnB4IiB2aWV3Qm94PSIwIDAgNTEyIDUxMiIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNTEyIDUxMjsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPGc+DQoJPHBhdGggZD0iTTQ0OCwwSDY0QzQ2LjMyOCwwLDMyLDE0LjMxMywzMiwzMnY0NDhjMCwxNy42ODgsMTQuMzI4LDMyLDMyLDMyaDM4NGMxNy42ODgsMCwzMi0xNC4zMTIsMzItMzJWMzINCgkJQzQ4MCwxNC4zMTMsNDY1LjY4OCwwLDQ0OCwweiBNNjQsNDgwVjEyOGg4MHY2NEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY0OEg5NnYxNmg0OHY4MEg2NHogTTQ0OCw0ODBIMTYwdi04MGgyNTZ2LTE2DQoJCUgxNjB2LTQ4aDI1NnYtMTZIMTYwdi00OGgyNTZ2LTE2SDE2MHYtNDhoMjU2di0xNkgxNjB2LTY0aDI4OFY0ODB6Ii8+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Logging" camel.apache.org/kamelet.namespace: "Logging" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Log Sink" description: A sink that logs all data that it receives, useful for debugging purposes. type: object properties: loggerName: title: Logger Name description: Name of the logging category to use type: string default: "log-sink" level: title: Log Level description: Logging level to use type: string default: "INFO" enum: ["TRACE", "DEBUG", "INFO", "WARN", "ERROR", "OFF"] logMask: title: Log Mask description: Mask sensitive information like password or passphrase in the log type: boolean default: false marker: title: Marker description: An optional Marker name to use type: string multiline: title: Multiline description: If enabled then each information is outputted on a newline type: boolean default: false showAllProperties: title: Show All Properties description: Show all of the exchange properties (both internal and custom) type: boolean default: false showBody: title: Show Body description: Show the message body type: boolean default: true showBodyType: title: Show Body Type description: Show the body Java type type: boolean default: true showExchangePattern: title: Show Exchange Pattern description: Shows the Message Exchange Pattern (or MEP for short) type: boolean default: true showHeaders: title: Show Headers description: Show the headers received type: boolean default: false showProperties: title: Show Properties description: Show the exchange properties (only custom). Use showAllProperties to show both internal and custom properties. type: boolean default: false showStreams: title: Show Streams description: Show the stream bodies (they may not be available in following steps) type: boolean default: false showCachedStreams: title: Show Cached Streams description: Whether Camel should show cached stream bodies or not. type: boolean default: true dependencies: - "camel:kamelet" - "camel:log" template: from: uri: "kamelet:source" steps: - to: uri: "log:{{loggerName}}" parameters: level: "{{?level}}" logMask: "{{?logMask}}" marker: "{{?marker}}" multiline: "{{?multiline}}" showAllProperties: "{{?showAllProperties}}" showBody: "{{?showBody}}" showBodyType: "{{?showBodyType}}" showExchangePattern: "{{?showExchangePattern}}" showHeaders: "{{?showHeaders}}" showProperties: "{{?showProperties}}" showStreams: "{{?showStreams}}" showCachedStreams: "{{?showCachedStreams}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mail-imap-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAwIDE2LjIwMDAwMSAxMi4yIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc1IgogICBzb2RpcG9kaTpkb2NuYW1lPSJCcmVlemVpY29ucy1wbGFjZXMtMTYtZm9sZGVyLW1haWwuc3ZnIgogICB3aWR0aD0iMTYuMjAwMDAxIgogICBoZWlnaHQ9IjEyLjIiCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMC4yIChlODZjODcwODc5LCAyMDIxLTAxLTE1KSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTYiCiAgICAgaWQ9Im5hbWVkdmlldzciCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGZpdC1tYXJnaW4tdG9wPSIwLjEiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMC4xIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMC4xIgogICAgIGZpdC1tYXJnaW4tYm90dG9tPSIwLjEiCiAgICAgaW5rc2NhcGU6em9vbT0iNTMuNSIKICAgICBpbmtzY2FwZTpjeD0iOC4xIgogICAgIGlua3NjYXBlOmN5PSIzLjEwOTM0NTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzA1MSI+CiAgICA8c3R5bGUKICAgICAgIHR5cGU9InRleHQvY3NzIgogICAgICAgaWQ9ImN1cnJlbnQtY29sb3Itc2NoZW1lIj4KICAgICAgLkNvbG9yU2NoZW1lLVRleHQgewogICAgICAgIGNvbG9yOiM0ZDRkNGQ7CiAgICAgIH0KICAgICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAwLjEsMC4xIHYgMTIgaCAxNiB2IC0xMiB6IG0gMS40MTQwNjI1LDEgSCAxNC42ODU5MzggTCA4LjEsNy42ODU5Mzc1IFogTSAxLjEsMi4xIGwgNCw0IC00LDQgeiBtIDE0LDAgdiA4IGwgLTQsLTQgeiBNIDUuODA3MDMxMiw2LjgwNzAzMTIgOC4xLDkuMSAxMC4zOTI5NjksNi44MDcwMzEyIDE0LjY4NTkzOCwxMS4xIEggMS41MTQwNjI1IFoiCiAgICAgaWQ9InJlY3Q0MTQ0IgogICAgIGNsYXNzPSJDb2xvclNjaGVtZS1UZXh0IiAvPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Mail" camel.apache.org/kamelet.namespace: "Mail" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Mail IMAP Source" description: Receive unread emails from an IMAP mail server, marking them as read once they are received. required: - connectionHost - connectionPort - username - password type: object properties: connectionHost: title: Connection Host description: The IMAP server host. type: string example: imap.gmail.com connectionPort: title: Connection Port description: The IMAP server port. type: string default: 993 username: title: Username description: The username to access the mail box. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the mail box. type: string format: password x-descriptors: - urn:camel:group:credentials fetchSize: title: Fetch Size description: The number of messages fetched for each poll (-1 for no limits). type: integer default: 10 delay: title: Delay description: The delay between fetches in milliseconds. type: integer default: 60000 dependencies: - "camel:core" - "camel:mail" - "camel:kamelet" template: from: uri: "imaps:{{connectionHost}}:{{connectionPort}}" parameters: username: "{{username}}" password: "{{password}}" fetchSize: "{{fetchSize}}" delay: "{{delay}}" steps: - setHeader: name: "ce-subject" simple: "${header.Subject}" - setHeader: name: "ce-from" simple: "${header.From}" - setHeader: name: "ce-to" simple: "${header.To}" - setHeader: name: "ce-cc" simple: "${header.Cc}" - convertBodyTo: type: "java.lang.String" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mail-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAwIDE2LjIwMDAwMSAxMi4yIgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmc1IgogICBzb2RpcG9kaTpkb2NuYW1lPSJCcmVlemVpY29ucy1wbGFjZXMtMTYtZm9sZGVyLW1haWwuc3ZnIgogICB3aWR0aD0iMTYuMjAwMDAxIgogICBoZWlnaHQ9IjEyLjIiCiAgIGlua3NjYXBlOnZlcnNpb249IjEuMC4yIChlODZjODcwODc5LCAyMDIxLTAxLTE1KSI+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhOSI+CiAgICA8cmRmOlJERj4KICAgICAgPGNjOldvcmsKICAgICAgICAgcmRmOmFib3V0PSIiPgogICAgICAgIDxkYzpmb3JtYXQ+aW1hZ2Uvc3ZnK3htbDwvZGM6Zm9ybWF0PgogICAgICAgIDxkYzp0eXBlCiAgICAgICAgICAgcmRmOnJlc291cmNlPSJodHRwOi8vcHVybC5vcmcvZGMvZGNtaXR5cGUvU3RpbGxJbWFnZSIgLz4KICAgICAgICA8ZGM6dGl0bGU+PC9kYzp0aXRsZT4KICAgICAgPC9jYzpXb3JrPgogICAgPC9yZGY6UkRGPgogIDwvbWV0YWRhdGE+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxIgogICAgIG9iamVjdHRvbGVyYW5jZT0iMTAiCiAgICAgZ3JpZHRvbGVyYW5jZT0iMTAiCiAgICAgZ3VpZGV0b2xlcmFuY2U9IjEwIgogICAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwIgogICAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwMTYiCiAgICAgaWQ9Im5hbWVkdmlldzciCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGZpdC1tYXJnaW4tdG9wPSIwLjEiCiAgICAgZml0LW1hcmdpbi1yaWdodD0iMC4xIgogICAgIGZpdC1tYXJnaW4tbGVmdD0iMC4xIgogICAgIGZpdC1tYXJnaW4tYm90dG9tPSIwLjEiCiAgICAgaW5rc2NhcGU6em9vbT0iNTMuNSIKICAgICBpbmtzY2FwZTpjeD0iOC4xIgogICAgIGlua3NjYXBlOmN5PSIzLjEwOTM0NTgiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjI3IgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnNSIgLz4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzA1MSI+CiAgICA8c3R5bGUKICAgICAgIHR5cGU9InRleHQvY3NzIgogICAgICAgaWQ9ImN1cnJlbnQtY29sb3Itc2NoZW1lIj4KICAgICAgLkNvbG9yU2NoZW1lLVRleHQgewogICAgICAgIGNvbG9yOiM0ZDRkNGQ7CiAgICAgIH0KICAgICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGgKICAgICBzdHlsZT0iZmlsbDpjdXJyZW50Q29sb3I7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgZD0ibSAwLjEsMC4xIHYgMTIgaCAxNiB2IC0xMiB6IG0gMS40MTQwNjI1LDEgSCAxNC42ODU5MzggTCA4LjEsNy42ODU5Mzc1IFogTSAxLjEsMi4xIGwgNCw0IC00LDQgeiBtIDE0LDAgdiA4IGwgLTQsLTQgeiBNIDUuODA3MDMxMiw2LjgwNzAzMTIgOC4xLDkuMSAxMC4zOTI5NjksNi44MDcwMzEyIDE0LjY4NTkzOCwxMS4xIEggMS41MTQwNjI1IFoiCiAgICAgaWQ9InJlY3Q0MTQ0IgogICAgIGNsYXNzPSJDb2xvclNjaGVtZS1UZXh0IiAvPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Mail" camel.apache.org/kamelet.namespace: "Mail" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Mail Sink" description: "Send mails to given SMTP server." required: - connectionHost - username - password type: object properties: connectionHost: description: The mail server host example: smtp.gmail.com title: Host type: string connectionPort: description: The mail server port title: Port default: 25 type: string username: title: Username description: The username to access the mail box type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the mail box type: string format: password x-descriptors: - urn:camel:group:credentials from: description: The `from` field of the outgoing mail title: From type: string to: description: The `to` field of the outgoing mail title: To type: string subject: description: The mail subject of the outgoing mail title: Subject type: string dependencies: - "camel:core" - "camel:mail" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[ce-subject]}" steps: - setHeader: name: Subject simple: "${header[ce-subject]}" - choice: when: - simple: "${header[ce-from]}" steps: - setHeader: name: From simple: "${header[ce-from]}" - choice: when: - simple: "${header[ce-to]}" steps: - setHeader: name: To simple: "${header[ce-to]}" - choice: when: - simple: "${header[ce-cc]}" steps: - setHeader: name: Cc simple: "${header[ce-cc]}" - removeHeaders: pattern: "ce-*" - to: uri: "smtp:{{connectionHost}}:{{connectionPort}}" parameters: subject: "{{subject}}" from: "{{from}}" to: "{{to}}" username: "{{username}}" password: "{{password}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mariadb-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBoZWlnaHQ9IjExOC4xIiB2aWV3Qm94PSIwLDAsNDE2LjQsMTE4LjEiIHdpZHRoPSI0MTYuNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KIDxtZXRhZGF0YS8+CiA8c3dpdGNoIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy45MSAtMjMuOTUpIj4KICA8Zm9yZWlnbk9iamVjdCBoZWlnaHQ9IjEiIHJlcXVpcmVkRXh0ZW5zaW9ucz0iaHR0cDovL25zLmFkb2JlLmNvbS9BZG9iZUlsbHVzdHJhdG9yLzEwLjAvIiB3aWR0aD0iMSIvPgogIDxnPgogICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYxNCAtMTQuMTgpIj4KICAgIDxwYXRoIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibTE4MTIgMzguMTNjLTIuNzMuMDktMS45NCAxLjMyLTcuODUgMi43OC01Ljk3IDEuNDctMTMuMTkuNTctMTkuNjEgMy4yNy0xNi44IDcuMDQtMTkuNTIgMzQuMjYtMzkuNTMgNDQuNzktMTMuMTIgNy40MS0yNi41IDkuMTEtMzguNDYgMTIuODYtOS42IDMuODUtMTUuNTcgNi40LTIyLjYxIDEyLjQ3LTUuNDYgNC43MS02Ljc5IDkuMjgtMTIuNSAxNS4xOS01Ljc5IDcuODctMjcuNzQuODgtMzMuMzkgMTAuNzUgMi45OCAxLjkzIDQuNyAyLjQ2IDkuOTMgMS43Ny0xLjA4IDIuMDUtNy45NiA0Ljc1LTYuNzEgNy43NyAwIDAgMTYuNjMgMy4wMyAzMC42NS01LjQzIDYuNTQtMi42NiAxMi42Ny04LjI5IDIyLjgzLTkuNjQgMTMuMTYtMS43NSAyNy45OSAyLjc2IDQzLjkgNC4wMy0zLjI5IDYuNS02LjY4IDEwLjM0LTEwLjMxIDE1LjctMS4xMiAxLjIxLjk2IDIuMjggNC44MiAxLjU1IDYuOTQtMS43MiAxMS45Ny0zLjU4IDE2Ljk2LTcuMDMgNi41MS00LjQ5IDkuMzEtOC42IDE0LjgtMTUuMTEgNC43NyA3LjY1IDIxLjU5IDkuMzMgMjUuMDQgMi43Mi02LjQyLTIuNzItNy43OS0xNi44Ny01LjU5LTIyLjk4IDIuNi01LjgyIDQuNDctMTQuMDUgNi41Ny0yMS43IDEuODktNi44OSAzLjA2LTE3LjQgNS4zMi0yMi43OCAyLjctNi42OSA3Ljk1LTguNzggMTEuODktMTIuMzNzNy44Ni02LjUxIDcuNzQtMTQuNjNjLS4wNC0yLjY0LTEuNC00LjEtMy44OS00LjAyeiIgZmlsbD0iIzFmMzA1ZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBkPSJtMTY0MyAxNDguNGMxMC4zMS4zMSAxMy4xMS4wNCAyMS4yNi0zLjUgNi45My0zLjAxIDE2LjItMTEuMTIgMjQuMzktMTMuNzQgMTIuMDItMy44NiAyNC45MS0zLjI4IDM3LjctMS43NyA0LjI4LjUxIDguNTggMS4yMiAxMS42NS44OSA0Ljc5LTIuOTQgNS4wMi0xMC45MiA3Ljk5LTExLjU2LS44MSAxNS40NC03LjQzIDI1LjMyLTE0LjA1IDM0LjI4IDEzLjk1LTIuNDYgMjMuMjctMTEuMTcgMjguOTEtMjEuOTUgMS43MS0zLjI3IDQuNTUtOC42MiA1Ljg1LTEyLjMgMS4wMyAyLjQ0LTEuMzQgMy45OS0uMjMgNi42NSA4Ljk4LTcuNDEgMTMuMjItMTUuODUgMTYuODYtMjguMjEgNC4yMi0xNC4zIDguNTUtMjYuNTkgMTEuMjctMzAuODIgMi42NS00LjEzIDYuNzgtNi42OCAxMC41NS05LjMyIDQuMjgtMy4wMSA4LjExLTYuMTQgOC43Ny0xMS44Ny00LjUyLS40Mi01LjU2LTEuNDYtNi4yMy0zLjc0LTIuMjYgMS4yNy00LjM0IDEuNTUtNi42OSAxLjYyLTIuMDQuMDYtNC4yOC0uMDMtNy4wMi4yNS0yMi42MyAyLjMyLTIzLjY4IDI0LjQ0LTQwLjEzIDQwLjY4LTEuMDYgMS4wMy0yLjg3IDIuNTUtNC4wNyAzLjQ1LTUuMDggMy43OS0xMC41MiA1Ljg3LTE2LjI1IDguMDYtOS4yOCAzLjU0LTE4LjA4IDQuNTctMjYuNzggNy42My02LjM5IDIuMjQtMTIuMzMgNC44MS0xNy41OCA4LjQtMS4zMS45LTMuMDkgMi41LTQuMjMgMy40My0zLjA4IDIuNTItNS4xIDUuMzEtNy4wNiA4LjE5LTIuMDIgMi45Ni0zLjk2IDYuMDEtNi45MyA4LjkyLTQuODEgNC43Mi0yMi43NyAxLjM4LTI5LjEgNS43Ni0uNy40OS0xLjI3IDEuMDctMS42NSAxLjc3IDMuNDUgMS41NyA1Ljc2LjYxIDkuNzMgMS4wNC40OSAzLjc5LTguMjIgNi4wMy02LjkzIDcuNzZ6IiBmaWxsPSIjYzA3NjVhIi8+CiAgICA8cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0xNzg3IDUyLjY1YzMuMiAyLjc4IDkuOTIuNTUgOC43Mi00Ljk4LTQuOTgtLjQyLTcuODYgMS4yNy04LjcyIDQuOTh6IiBmaWxsPSIjMWYzMDVmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgIDxwYXRoIGQ9Im0xODA5IDQ2LjE4Yy0uODUgMS43OS0yLjQ4IDQuMDktMi40OCA4LjY0LS4wMS43OC0uNTkgMS4zMi0uNi4xMS4wNC00LjQ1IDEuMjItNi4zNyAyLjQ3LTguODkuNTctMS4wMy45Mi0uNjEuNjEuMTR6IiBmaWxsPSIjMWYzMDVmIi8+CiAgICA8cGF0aCBkPSJtMTgwOCA0NS41MWMtMS4wMSAxLjctMy40MyA0LjgxLTMuODIgOS4zNS0uMDcuNzgtLjcxIDEuMjYtLjYxLjA2LjQ0LTQuNDIgMi4zNy03LjE5IDMuODQtOS42LjY2LS45OC45Ny0uNTMuNTkuMTl6IiBmaWxsPSIjMWYzMDVmIi8+CiAgICA8cGF0aCBkPSJtMTgwNyA0NC42MmMtMS4xNSAxLjYxLTQuODcgNS4zNS01LjY1IDkuODMtLjE0Ljc3LS44MSAxLjE5LS42MS4wMS44MS00LjM3IDQuMDItNy44MSA1LjY4LTEwLjA4Ljc0LS45MyAxLjAyLS40NS41OC4yNHoiIGZpbGw9IiMxZjMwNWYiLz4KICAgIDxwYXRoIGQ9Im0xODA3IDQzLjYyYy0xLjM2IDEuNDQtNS44IDYuMi03LjIgMTAuNTMtLjI1Ljc0LS45NyAxLjA3LS42MS0uMDggMS40MS00LjIyIDUuMy04Ljc2IDcuMjctMTAuNzcuODctLjgxIDEuMDctLjI5LjU0LjMyeiIgZmlsbD0iIzFmMzA1ZiIvPgogICA8L2c+CiAgIDxwYXRoIGQ9Im00NDkuNy0xOS40NHYzMS4yMmgtMy45NHYtNS4zNWMtMy41NyA0LjI3LTcuNjQgNi40MS0xMi4yMyA2LjQxcy04LjQ3LTEuNjMtMTEuNjQtNC44OGMtMy4xNC0zLjI5LTQuNy03LjE5LTQuNy0xMS43IDAtNC41NSAxLjU5LTguNDMgNC43Ni0xMS42NCAzLjE3LTMuMjUgNi45OC00Ljg4IDExLjQxLTQuODggNS4xIDAgOS4yMyAyLjE4IDEyLjQxIDYuNTN2LTUuN2gzLjkzbS0zLjcgMTUuNzRjMC0zLjU3LTEuMi02LjU3LTMuNTktOS0yLjM5LTIuNDctNS4zMy0zLjctOC44Mi0zLjctMy40NSAwLTYuMzcgMS4yNy04Ljc2IDMuODItMi4zOSAyLjUxLTMuNTkgNS40OS0zLjU5IDguOTRzMS4yMiA2LjQ1IDMuNjUgOWMyLjQzIDIuNTEgNS4zMyAzLjc2IDguNyAzLjc2IDMuNDEgMCA2LjMzLTEuMjIgOC43Ni0zLjY1IDIuNDQtMi40MiAzLjY1LTUuNDggMy42NS05LjE3IiBmaWxsPSIjMWYzMDVmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODMuMDcgOTIuNTUpIi8+CiAgIDxwYXRoIGQ9Im00NTguNCAxMS43OHYtNDIuMjFoOC43NmM2IDAgMTAuMzkuNDUgMTMuMTcgMS4zNSAyLjgyLjg2IDUuMjUgMi4yNSA3LjI5IDQuMTcgMi4wNCAxLjg4IDMuNjEgNC4xOSA0LjcgNi45NCAxLjEgMi43NCAxLjY1IDUuOTYgMS42NSA5LjY0IDAgMy42NS0uODYgNy4wOS0yLjU5IDEwLjM1LTEuNjkgMy4yMS00IDUuNjQtNi45NCA3LjI5LTIuOSAxLjY1LTcuMDkgMi40Ny0xMi41OCAyLjQ3em00LjA2LTRoNC44OGM1LjEgMCA4Ljc4LS4yNSAxMS4wNS0uNzYgMi4zMS0uNTEgNC4zMy0xLjUxIDYuMDYtMyAxLjcyLTEuNTMgMy4wNC0zLjM3IDMuOTQtNS41M3MxLjM1LTQuNjIgMS4zNS03LjQxYzAtMi43OC0uNTMtNS4zNS0xLjU5LTcuNy0xLjAyLTIuMzUtMi40OS00LjI5LTQuNDEtNS44MnMtNC4xOS0yLjU1LTYuODItMy4wNmMtMi41OS0uNTUtNi40MS0uODItMTEuNDYtLjgyaC0zeiIgZmlsbD0iIzFmMzA1ZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzLjgyIDkyLjU1KSIvPgogICA8cGF0aCBkPSJtNDA2LTI4LjE0YzAtLjkuMzEtMS42OS45NC0yLjM1LjY3LS42NyAxLjQ1LTEgMi4zNS0xIC45NCAwIDEuNzIuMzMgMi4zNSAxIC42Ny42MyAxIDEuNDEgMSAyLjM1IDAgLjktLjMzIDEuNjktMSAyLjM1LS42My42My0xLjQxLjk0LTIuMzUuOTQtLjkgMC0xLjY5LS4zMy0yLjM1LTEtLjYzLS42Ny0uOTQtMS40My0uOTQtMi4yOW0xLjI5IDguN2g0LjA2djMxLjIyaC00LjA2eiIgZmlsbD0iIzFmMzA1ZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzLjgyIDkyLjU1KSIvPgogICA8cGF0aCBkPSJtMjk2LjcgMTEuNzggNi00Mi4yMWguNjVsMTcuMTYgMzQuNjIgMTcuMDUtMzQuNjNoLjY1bDYuMDYgNDIuMjFoLTQuMTdsLTQuMTItMzAuMjItMTQuOTMgMzAuMjJoLTEuMDZsLTE1LjExLTMwLjQ1LTQuMTIgMzAuNDVoLTQuMDYiIGZpbGw9IiMxZjMwNWYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04NC4zMyA5Mi41NSkiLz4KICAgPHBhdGggZD0ibTM4MS4xLTE5LjQ0djMxLjIyaC0zLjk0di01LjM1Yy0zLjU3IDQuMjctNy42NCA2LjQxLTEyLjIzIDYuNDFzLTguNDctMS42My0xMS42NC00Ljg4Yy0zLjE0LTMuMjktNC43LTcuMTktNC43LTExLjcgMC00LjU1IDEuNTktOC40MyA0Ljc2LTExLjY0IDMuMTctMy4yNSA2Ljk4LTQuODggMTEuNDEtNC44OCA1LjEgMCA5LjIzIDIuMTggMTIuNDEgNi41M3YtNS43aDMuOTNtLTMuNyAxNS43NGMwLTMuNTctMS4yLTYuNTctMy41OS05LTIuMzktMi40Ny01LjMzLTMuNy04LjgyLTMuNy0zLjQ1IDAtNi4zNyAxLjI3LTguNzYgMy44Mi0yLjM5IDIuNTEtMy41OSA1LjQ5LTMuNTkgOC45NHMxLjIxIDYuNDUgMy42NSA5YzIuNDMgMi41MSA1LjMzIDMuNzYgOC43IDMuNzYgMy40MSAwIDYuMzMtMS4yMiA4Ljc2LTMuNjUgMi40My0yLjQyIDMuNjUtNS40OCAzLjY1LTkuMTciIGZpbGw9IiMxZjMwNWYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04NC41OCA5Mi41NSkiLz4KICAgPHBhdGggZD0ibTM4OC43LTE5LjQ0aDQuMTJ2NC41M2MxLjEtMS44NCAyLjE2LTMuMTkgMy4xNy00LjA2IDEuMDYtLjg2IDIuMjEtMS4yOSAzLjQ3LTEuMjkgMS4yOSAwIDIuNTkuMzUgMy44OCAxLjA2bC0yLjEyIDMuNDFjLS41OS0uMzUtMS4yLS41My0xLjgyLS41My0xLjIxIDAtMi4zNy42My0zLjQ3IDEuODgtMS4wNiAxLjI1LTEuODQgMi44OC0yLjM1IDQuODgtLjUxIDEuOTYtLjc2IDUuNTUtLjc2IDEwLjc2djEwLjU4aC00LjEyeiIgZmlsbD0iIzFmMzA1ZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg1LjM0IDkyLjU1KSIvPgogICA8cGF0aCBkPSJtNDk4LjMtMzAuNDRoOC4zNWM0LjQzIDAgNy43OC45IDEwLjA1IDIuNyAyLjMxIDEuNzYgMy40NyA0LjMxIDMuNDcgNy42NCAwIDEuODQtLjQ3IDMuNTUtMS40MSA1LjExLS45IDEuNTMtMi4yMyAyLjc2LTQgMy43IDIuOS45NCA1LjEgMi4zNSA2LjU4IDQuMjMgMS41MyAxLjg4IDIuMjkgNC4xMiAyLjI5IDYuNyAwIDMuNDktMS4yNyA2LjM5LTMuODIgOC43LTIuNTUgMi4yNy01Ljg0IDMuNDEtOS44OCAzLjQxaC0xMS42M3ptNC4xNyA0LjEydjEzLjUyaDIuNDFjMy42OCAwIDYuNDMtLjU5IDguMjMtMS43NiAxLjgtMS4xOCAyLjctMy4wMiAyLjctNS41MyAwLTQuMTUtMi44Mi02LjIzLTguNDctNi4yM3ptMCAxNy43NnYxNi4yMmg1LjIzYzMuMDIgMCA1LjIzLS4yOSA2LjY0LS44OCAxLjQ1LS42MyAyLjYzLTEuNTcgMy41My0yLjgyLjktMS4yOSAxLjM1LTIuNjEgMS4zNS0zLjk0cy0uMjUtMi41MS0uNzYtMy41My0xLjI3LTEuOTItMi4yOS0yLjdjLS45OC0uNzgtMi4xOC0xLjM3LTMuNTktMS43Ni0xLjM3LS4zOS0zLjk2LS41OS03Ljc2LS41OXoiIGZpbGw9IiMxZjMwNWYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04My4zMiA5Mi41NSkiLz4KICA8L2c+CiA8L3N3aXRjaD4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "MariaDB Sink" description: Send data to a MariaDB Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 3306 username: title: Username description: The username to access a secured MariaDB Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured MariaDB Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the MariaDB Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the MariaDB Database. type: string types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-mariadb-sink type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:mariadb://{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'org.mariadb.jdbc.Driver' from: uri: "kamelet:source" steps: - unmarshal: json: library: Jackson - to: uri: "{{local-sql-mariadb-sink}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mariadb-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBoZWlnaHQ9IjExOC4xIiB2aWV3Qm94PSIwLDAsNDE2LjQsMTE4LjEiIHdpZHRoPSI0MTYuNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KIDxtZXRhZGF0YS8+CiA8c3dpdGNoIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yMy45MSAtMjMuOTUpIj4KICA8Zm9yZWlnbk9iamVjdCBoZWlnaHQ9IjEiIHJlcXVpcmVkRXh0ZW5zaW9ucz0iaHR0cDovL25zLmFkb2JlLmNvbS9BZG9iZUlsbHVzdHJhdG9yLzEwLjAvIiB3aWR0aD0iMSIvPgogIDxnPgogICA8ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTYxNCAtMTQuMTgpIj4KICAgIDxwYXRoIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0ibTE4MTIgMzguMTNjLTIuNzMuMDktMS45NCAxLjMyLTcuODUgMi43OC01Ljk3IDEuNDctMTMuMTkuNTctMTkuNjEgMy4yNy0xNi44IDcuMDQtMTkuNTIgMzQuMjYtMzkuNTMgNDQuNzktMTMuMTIgNy40MS0yNi41IDkuMTEtMzguNDYgMTIuODYtOS42IDMuODUtMTUuNTcgNi40LTIyLjYxIDEyLjQ3LTUuNDYgNC43MS02Ljc5IDkuMjgtMTIuNSAxNS4xOS01Ljc5IDcuODctMjcuNzQuODgtMzMuMzkgMTAuNzUgMi45OCAxLjkzIDQuNyAyLjQ2IDkuOTMgMS43Ny0xLjA4IDIuMDUtNy45NiA0Ljc1LTYuNzEgNy43NyAwIDAgMTYuNjMgMy4wMyAzMC42NS01LjQzIDYuNTQtMi42NiAxMi42Ny04LjI5IDIyLjgzLTkuNjQgMTMuMTYtMS43NSAyNy45OSAyLjc2IDQzLjkgNC4wMy0zLjI5IDYuNS02LjY4IDEwLjM0LTEwLjMxIDE1LjctMS4xMiAxLjIxLjk2IDIuMjggNC44MiAxLjU1IDYuOTQtMS43MiAxMS45Ny0zLjU4IDE2Ljk2LTcuMDMgNi41MS00LjQ5IDkuMzEtOC42IDE0LjgtMTUuMTEgNC43NyA3LjY1IDIxLjU5IDkuMzMgMjUuMDQgMi43Mi02LjQyLTIuNzItNy43OS0xNi44Ny01LjU5LTIyLjk4IDIuNi01LjgyIDQuNDctMTQuMDUgNi41Ny0yMS43IDEuODktNi44OSAzLjA2LTE3LjQgNS4zMi0yMi43OCAyLjctNi42OSA3Ljk1LTguNzggMTEuODktMTIuMzNzNy44Ni02LjUxIDcuNzQtMTQuNjNjLS4wNC0yLjY0LTEuNC00LjEtMy44OS00LjAyeiIgZmlsbD0iIzFmMzA1ZiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiAgICA8cGF0aCBkPSJtMTY0MyAxNDguNGMxMC4zMS4zMSAxMy4xMS4wNCAyMS4yNi0zLjUgNi45My0zLjAxIDE2LjItMTEuMTIgMjQuMzktMTMuNzQgMTIuMDItMy44NiAyNC45MS0zLjI4IDM3LjctMS43NyA0LjI4LjUxIDguNTggMS4yMiAxMS42NS44OSA0Ljc5LTIuOTQgNS4wMi0xMC45MiA3Ljk5LTExLjU2LS44MSAxNS40NC03LjQzIDI1LjMyLTE0LjA1IDM0LjI4IDEzLjk1LTIuNDYgMjMuMjctMTEuMTcgMjguOTEtMjEuOTUgMS43MS0zLjI3IDQuNTUtOC42MiA1Ljg1LTEyLjMgMS4wMyAyLjQ0LTEuMzQgMy45OS0uMjMgNi42NSA4Ljk4LTcuNDEgMTMuMjItMTUuODUgMTYuODYtMjguMjEgNC4yMi0xNC4zIDguNTUtMjYuNTkgMTEuMjctMzAuODIgMi42NS00LjEzIDYuNzgtNi42OCAxMC41NS05LjMyIDQuMjgtMy4wMSA4LjExLTYuMTQgOC43Ny0xMS44Ny00LjUyLS40Mi01LjU2LTEuNDYtNi4yMy0zLjc0LTIuMjYgMS4yNy00LjM0IDEuNTUtNi42OSAxLjYyLTIuMDQuMDYtNC4yOC0uMDMtNy4wMi4yNS0yMi42MyAyLjMyLTIzLjY4IDI0LjQ0LTQwLjEzIDQwLjY4LTEuMDYgMS4wMy0yLjg3IDIuNTUtNC4wNyAzLjQ1LTUuMDggMy43OS0xMC41MiA1Ljg3LTE2LjI1IDguMDYtOS4yOCAzLjU0LTE4LjA4IDQuNTctMjYuNzggNy42My02LjM5IDIuMjQtMTIuMzMgNC44MS0xNy41OCA4LjQtMS4zMS45LTMuMDkgMi41LTQuMjMgMy40My0zLjA4IDIuNTItNS4xIDUuMzEtNy4wNiA4LjE5LTIuMDIgMi45Ni0zLjk2IDYuMDEtNi45MyA4LjkyLTQuODEgNC43Mi0yMi43NyAxLjM4LTI5LjEgNS43Ni0uNy40OS0xLjI3IDEuMDctMS42NSAxLjc3IDMuNDUgMS41NyA1Ljc2LjYxIDkuNzMgMS4wNC40OSAzLjc5LTguMjIgNi4wMy02LjkzIDcuNzZ6IiBmaWxsPSIjYzA3NjVhIi8+CiAgICA8cGF0aCBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Im0xNzg3IDUyLjY1YzMuMiAyLjc4IDkuOTIuNTUgOC43Mi00Ljk4LTQuOTgtLjQyLTcuODYgMS4yNy04LjcyIDQuOTh6IiBmaWxsPSIjMWYzMDVmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KICAgIDxwYXRoIGQ9Im0xODA5IDQ2LjE4Yy0uODUgMS43OS0yLjQ4IDQuMDktMi40OCA4LjY0LS4wMS43OC0uNTkgMS4zMi0uNi4xMS4wNC00LjQ1IDEuMjItNi4zNyAyLjQ3LTguODkuNTctMS4wMy45Mi0uNjEuNjEuMTR6IiBmaWxsPSIjMWYzMDVmIi8+CiAgICA8cGF0aCBkPSJtMTgwOCA0NS41MWMtMS4wMSAxLjctMy40MyA0LjgxLTMuODIgOS4zNS0uMDcuNzgtLjcxIDEuMjYtLjYxLjA2LjQ0LTQuNDIgMi4zNy03LjE5IDMuODQtOS42LjY2LS45OC45Ny0uNTMuNTkuMTl6IiBmaWxsPSIjMWYzMDVmIi8+CiAgICA8cGF0aCBkPSJtMTgwNyA0NC42MmMtMS4xNSAxLjYxLTQuODcgNS4zNS01LjY1IDkuODMtLjE0Ljc3LS44MSAxLjE5LS42MS4wMS44MS00LjM3IDQuMDItNy44MSA1LjY4LTEwLjA4Ljc0LS45MyAxLjAyLS40NS41OC4yNHoiIGZpbGw9IiMxZjMwNWYiLz4KICAgIDxwYXRoIGQ9Im0xODA3IDQzLjYyYy0xLjM2IDEuNDQtNS44IDYuMi03LjIgMTAuNTMtLjI1Ljc0LS45NyAxLjA3LS42MS0uMDggMS40MS00LjIyIDUuMy04Ljc2IDcuMjctMTAuNzcuODctLjgxIDEuMDctLjI5LjU0LjMyeiIgZmlsbD0iIzFmMzA1ZiIvPgogICA8L2c+CiAgIDxwYXRoIGQ9Im00NDkuNy0xOS40NHYzMS4yMmgtMy45NHYtNS4zNWMtMy41NyA0LjI3LTcuNjQgNi40MS0xMi4yMyA2LjQxcy04LjQ3LTEuNjMtMTEuNjQtNC44OGMtMy4xNC0zLjI5LTQuNy03LjE5LTQuNy0xMS43IDAtNC41NSAxLjU5LTguNDMgNC43Ni0xMS42NCAzLjE3LTMuMjUgNi45OC00Ljg4IDExLjQxLTQuODggNS4xIDAgOS4yMyAyLjE4IDEyLjQxIDYuNTN2LTUuN2gzLjkzbS0zLjcgMTUuNzRjMC0zLjU3LTEuMi02LjU3LTMuNTktOS0yLjM5LTIuNDctNS4zMy0zLjctOC44Mi0zLjctMy40NSAwLTYuMzcgMS4yNy04Ljc2IDMuODItMi4zOSAyLjUxLTMuNTkgNS40OS0zLjU5IDguOTRzMS4yMiA2LjQ1IDMuNjUgOWMyLjQzIDIuNTEgNS4zMyAzLjc2IDguNyAzLjc2IDMuNDEgMCA2LjMzLTEuMjIgOC43Ni0zLjY1IDIuNDQtMi40MiAzLjY1LTUuNDggMy42NS05LjE3IiBmaWxsPSIjMWYzMDVmIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtODMuMDcgOTIuNTUpIi8+CiAgIDxwYXRoIGQ9Im00NTguNCAxMS43OHYtNDIuMjFoOC43NmM2IDAgMTAuMzkuNDUgMTMuMTcgMS4zNSAyLjgyLjg2IDUuMjUgMi4yNSA3LjI5IDQuMTcgMi4wNCAxLjg4IDMuNjEgNC4xOSA0LjcgNi45NCAxLjEgMi43NCAxLjY1IDUuOTYgMS42NSA5LjY0IDAgMy42NS0uODYgNy4wOS0yLjU5IDEwLjM1LTEuNjkgMy4yMS00IDUuNjQtNi45NCA3LjI5LTIuOSAxLjY1LTcuMDkgMi40Ny0xMi41OCAyLjQ3em00LjA2LTRoNC44OGM1LjEgMCA4Ljc4LS4yNSAxMS4wNS0uNzYgMi4zMS0uNTEgNC4zMy0xLjUxIDYuMDYtMyAxLjcyLTEuNTMgMy4wNC0zLjM3IDMuOTQtNS41M3MxLjM1LTQuNjIgMS4zNS03LjQxYzAtMi43OC0uNTMtNS4zNS0xLjU5LTcuNy0xLjAyLTIuMzUtMi40OS00LjI5LTQuNDEtNS44MnMtNC4xOS0yLjU1LTYuODItMy4wNmMtMi41OS0uNTUtNi40MS0uODItMTEuNDYtLjgyaC0zeiIgZmlsbD0iIzFmMzA1ZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzLjgyIDkyLjU1KSIvPgogICA8cGF0aCBkPSJtNDA2LTI4LjE0YzAtLjkuMzEtMS42OS45NC0yLjM1LjY3LS42NyAxLjQ1LTEgMi4zNS0xIC45NCAwIDEuNzIuMzMgMi4zNSAxIC42Ny42MyAxIDEuNDEgMSAyLjM1IDAgLjktLjMzIDEuNjktMSAyLjM1LS42My42My0xLjQxLjk0LTIuMzUuOTQtLjkgMC0xLjY5LS4zMy0yLjM1LTEtLjYzLS42Ny0uOTQtMS40My0uOTQtMi4yOW0xLjI5IDguN2g0LjA2djMxLjIyaC00LjA2eiIgZmlsbD0iIzFmMzA1ZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTgzLjgyIDkyLjU1KSIvPgogICA8cGF0aCBkPSJtMjk2LjcgMTEuNzggNi00Mi4yMWguNjVsMTcuMTYgMzQuNjIgMTcuMDUtMzQuNjNoLjY1bDYuMDYgNDIuMjFoLTQuMTdsLTQuMTItMzAuMjItMTQuOTMgMzAuMjJoLTEuMDZsLTE1LjExLTMwLjQ1LTQuMTIgMzAuNDVoLTQuMDYiIGZpbGw9IiMxZjMwNWYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04NC4zMyA5Mi41NSkiLz4KICAgPHBhdGggZD0ibTM4MS4xLTE5LjQ0djMxLjIyaC0zLjk0di01LjM1Yy0zLjU3IDQuMjctNy42NCA2LjQxLTEyLjIzIDYuNDFzLTguNDctMS42My0xMS42NC00Ljg4Yy0zLjE0LTMuMjktNC43LTcuMTktNC43LTExLjcgMC00LjU1IDEuNTktOC40MyA0Ljc2LTExLjY0IDMuMTctMy4yNSA2Ljk4LTQuODggMTEuNDEtNC44OCA1LjEgMCA5LjIzIDIuMTggMTIuNDEgNi41M3YtNS43aDMuOTNtLTMuNyAxNS43NGMwLTMuNTctMS4yLTYuNTctMy41OS05LTIuMzktMi40Ny01LjMzLTMuNy04LjgyLTMuNy0zLjQ1IDAtNi4zNyAxLjI3LTguNzYgMy44Mi0yLjM5IDIuNTEtMy41OSA1LjQ5LTMuNTkgOC45NHMxLjIxIDYuNDUgMy42NSA5YzIuNDMgMi41MSA1LjMzIDMuNzYgOC43IDMuNzYgMy40MSAwIDYuMzMtMS4yMiA4Ljc2LTMuNjUgMi40My0yLjQyIDMuNjUtNS40OCAzLjY1LTkuMTciIGZpbGw9IiMxZjMwNWYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04NC41OCA5Mi41NSkiLz4KICAgPHBhdGggZD0ibTM4OC43LTE5LjQ0aDQuMTJ2NC41M2MxLjEtMS44NCAyLjE2LTMuMTkgMy4xNy00LjA2IDEuMDYtLjg2IDIuMjEtMS4yOSAzLjQ3LTEuMjkgMS4yOSAwIDIuNTkuMzUgMy44OCAxLjA2bC0yLjEyIDMuNDFjLS41OS0uMzUtMS4yLS41My0xLjgyLS41My0xLjIxIDAtMi4zNy42My0zLjQ3IDEuODgtMS4wNiAxLjI1LTEuODQgMi44OC0yLjM1IDQuODgtLjUxIDEuOTYtLjc2IDUuNTUtLjc2IDEwLjc2djEwLjU4aC00LjEyeiIgZmlsbD0iIzFmMzA1ZiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTg1LjM0IDkyLjU1KSIvPgogICA8cGF0aCBkPSJtNDk4LjMtMzAuNDRoOC4zNWM0LjQzIDAgNy43OC45IDEwLjA1IDIuNyAyLjMxIDEuNzYgMy40NyA0LjMxIDMuNDcgNy42NCAwIDEuODQtLjQ3IDMuNTUtMS40MSA1LjExLS45IDEuNTMtMi4yMyAyLjc2LTQgMy43IDIuOS45NCA1LjEgMi4zNSA2LjU4IDQuMjMgMS41MyAxLjg4IDIuMjkgNC4xMiAyLjI5IDYuNyAwIDMuNDktMS4yNyA2LjM5LTMuODIgOC43LTIuNTUgMi4yNy01Ljg0IDMuNDEtOS44OCAzLjQxaC0xMS42M3ptNC4xNyA0LjEydjEzLjUyaDIuNDFjMy42OCAwIDYuNDMtLjU5IDguMjMtMS43NiAxLjgtMS4xOCAyLjctMy4wMiAyLjctNS41MyAwLTQuMTUtMi44Mi02LjIzLTguNDctNi4yM3ptMCAxNy43NnYxNi4yMmg1LjIzYzMuMDIgMCA1LjIzLS4yOSA2LjY0LS44OCAxLjQ1LS42MyAyLjYzLTEuNTcgMy41My0yLjgyLjktMS4yOSAxLjM1LTIuNjEgMS4zNS0zLjk0cy0uMjUtMi41MS0uNzYtMy41My0xLjI3LTEuOTItMi4yOS0yLjdjLS45OC0uNzgtMi4xOC0xLjM3LTMuNTktMS43Ni0xLjM3LS4zOS0zLjk2LS41OS03Ljc2LS41OXoiIGZpbGw9IiMxZjMwNWYiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC04My4zMiA5Mi41NSkiLz4KICA8L2c+CiA8L3N3aXRjaD4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "MariaDB Source" description: Query data from a MariaDB Database. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 3306 username: title: Username description: The username to access a secured MariaDB Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured MariaDB Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the MariaDB Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the MariaDB Database. type: string consumedQuery: title: Consumed Query description: A query to run on a tuple consumed. type: string example: 'DELETE FROM accounts where user_id = :#user_id' delay: title: Delay description: The number of milliseconds before the next poll type: integer default: 500 types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-mariadb-source type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:mariadb://{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'org.mariadb.jdbc.Driver' from: uri: "{{local-sql-mariadb-source}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" onConsume: "{{?consumedQuery}}" delay: "{{delay}}" steps: - marshal: json: library: Jackson - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mask-field-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" spec: definition: title: "Mask Fields Action" description: "Mask fields with a constant value in the message in transit." required: - fields - replacement properties: fields: title: Fields description: Comma separated list of fields to mask type: string replacement: title: Replacement description: Replacement for the fields to be masked type: string type: object dependencies: - "camel:jackson" - "camel:kamelet" - "camel:core" - "camel:kafka" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[Content-Type]} == 'application/json'" steps: - setProperty: name: deserialized constant: "true" - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setProperty: name: "fields" constant: "{{fields}}" - setProperty: name: "replacement" constant: "{{replacement}}" - bean: "org.apache.camel.component.kafka.transform.MaskField" - choice: when: - simple: "${exchangeProperty[deserialized]} == 'true'" steps: - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: message-timestamp-router-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Message Timestamp Router Action" description: "Update the topic field as a function of the original topic name and the record's timestamp field." required: - timestampKeys properties: topicFormat: title: Topic Format description: Format string which can contain '$[topic]' and '$[timestamp]' as placeholders for the topic and timestamp, respectively. type: string default: "topic-$[timestamp]" timestampFormat: title: Timestamp Format description: Format string for the timestamp that is compatible with java.text.SimpleDateFormat. type: string default: "yyyyMMdd" timestampKeys: title: Timestamp Keys description: Comma separated list of Timestamp keys. The timestamp is taken from the first found field. type: string timestampKeyFormat: title: Timestamp Keys Format description: Format of the timestamp keys. Possible values are `timestamp`, or any format string for the timestamp that is compatible with `java.text.SimpleDateFormat`. In case of `timestamp` the field is evaluated as milliseconds since 1970 (as a UNIX Timestamp). type: string default: "timestamp" type: object dependencies: - "camel:jackson" - "camel:kamelet" - "camel:core" - "camel:kafka" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[Content-Type]} == 'application/json'" steps: - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setProperty: name: "topicFormat" constant: "{{topicFormat}}" - setProperty: name: "timestampFormat" constant: "{{timestampFormat}}" - setProperty: name: "timestampKeys" constant: "{{timestampKeys}}" - setProperty: name: "timestampKeyFormat" constant: "{{timestampKeyFormat}}" - bean: "org.apache.camel.component.kafka.transform.MessageTimestampRouter" - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: minio-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2Mi42MTIgMjQuNDY1Ij48cGF0aCBkPSJNNTIuNzUxLjQxNGg5LjEwOHYyMy42M2gtOS4xMDh6TTQxLjcxMS43NGwtMTguNDg4IDkuOTJhLjkxOS45MTkgMCAwIDEtLjg1NiAwTDMuODc5Ljc0QTIuODA4IDIuODA4IDAgMCAwIDIuNTU4LjQxNGgtLjAyM0EyLjQgMi40IDAgMCAwIDAgMi42NDF2MjEuMzc2aDkuMVYxMy44NDJhLjkxOC45MTggMCAwIDEgMS4zODUtLjY4MmwxMC4zNjEgNS41NjhhMy42MzQgMy42MzQgMCAwIDAgMy4zMzYuMDI4bDEwLjkzMy01LjYzNGEuOTE3LjkxNyAwIDAgMSAxLjM3MS42OXYxMC4yMDVoOS4xVjIuNjQxQTIuNCAyLjQgMCAwIDAgNDMuMDU1LjQxNGgtLjAyM2EyLjgwOCAyLjgwOCAwIDAgMC0xLjMyMS4zMjZ6bTY1LjU2NC0uMzI2aC05LjIzN3YxMC43NTVhLjkxMy45MTMgMCAwIDEtMS4zMzguNzA2TDcyLjc2Mi42NzVhMi44MjQgMi44MjQgMCAwIDAtMS4xOTEtLjI2MWgtLjAxNmEyLjQgMi40IDAgMCAwLTIuNTM1IDIuMjI3djIxLjM3N2g5LjE2M1YxMy4yNzVhLjkxNC45MTQgMCAwIDEgMS4zMzctLjcwN2wyNC4wMzIgMTEuMmEyLjgxMyAyLjgxMyAwIDAgMCAxLjE4OC4yNiAyLjQgMi40IDAgMCAwIDIuNTM1LTIuMjI3em03LjE2MSAyMy42M1YuNDE0aDQuMTkxdjIzLjYzem0yOC44NTYuNDIxYy0xMS4yNzQgMC0xOS4yNzItNC43LTE5LjI3Mi0xMi4yMzJDMTI0LjAyIDQuNzQxIDEzMi4wNjYgMCAxNDMuMjkyIDBzMTkuMzIgNC43IDE5LjMyIDEyLjIzMy03LjkwMiAxMi4yMzItMTkuMzIgMTIuMjMyem0wLTIxLjMzM2MtOC4zODMgMC0xNC44NCAzLjIxNy0xNC44NCA5LjEgMCA1LjkyNiA2LjQ1NyA5LjEgMTQuODQgOS4xczE0Ljg4Ny0zLjE3NCAxNC44ODctOS4xYzAtNS44ODMtNi41MDQtOS4xLTE0Ljg4Ny05LjF6IiBmaWxsPSIjYzcyYzQ4Ii8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Minio" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Minio Sink" description: Upload data to MinIO. required: - bucketName - accessKey - secretKey - endpoint type: object properties: bucketName: title: Bucket Name description: The Minio Bucket name. type: string accessKey: title: Access Key description: The access key obtained from MinIO. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from MinIO. type: string format: password x-descriptors: - urn:camel:group:credentials endpoint: title: Endpoint description: The MinIO Endpoint. You can specify an URL, domain name, IPv4 address, or IPv6 address. type: string example: http://localhost:9000 autoCreateBucket: title: Autocreate Bucket description: Specify to automatically create the MinIO bucket. type: boolean default: false keyName: title: Key Name description: The key name for saving an element in the bucket. type: string dependencies: - "camel:core" - "camel:minio" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: precondition: true when: - simple: '${propertiesExist:!keyName}' steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelMinioObjectName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelMinioObjectName simple: "${header[ce-file]}" otherwise: steps: - setHeader: name: CamelMinioObjectName simple: "${exchangeId}" - to: uri: "minio:{{bucketName}}" parameters: autoCreateBucket: "{{autoCreateBucket}}" secretKey: "{{secretKey}}" accessKey: "{{accessKey}}" endpoint: "{{endpoint}}" keyName: "{{?keyName}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: minio-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBkYXRhLW5hbWU9IkxheWVyIDEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2Mi42MTIgMjQuNDY1Ij48cGF0aCBkPSJNNTIuNzUxLjQxNGg5LjEwOHYyMy42M2gtOS4xMDh6TTQxLjcxMS43NGwtMTguNDg4IDkuOTJhLjkxOS45MTkgMCAwIDEtLjg1NiAwTDMuODc5Ljc0QTIuODA4IDIuODA4IDAgMCAwIDIuNTU4LjQxNGgtLjAyM0EyLjQgMi40IDAgMCAwIDAgMi42NDF2MjEuMzc2aDkuMVYxMy44NDJhLjkxOC45MTggMCAwIDEgMS4zODUtLjY4MmwxMC4zNjEgNS41NjhhMy42MzQgMy42MzQgMCAwIDAgMy4zMzYuMDI4bDEwLjkzMy01LjYzNGEuOTE3LjkxNyAwIDAgMSAxLjM3MS42OXYxMC4yMDVoOS4xVjIuNjQxQTIuNCAyLjQgMCAwIDAgNDMuMDU1LjQxNGgtLjAyM2EyLjgwOCAyLjgwOCAwIDAgMC0xLjMyMS4zMjZ6bTY1LjU2NC0uMzI2aC05LjIzN3YxMC43NTVhLjkxMy45MTMgMCAwIDEtMS4zMzguNzA2TDcyLjc2Mi42NzVhMi44MjQgMi44MjQgMCAwIDAtMS4xOTEtLjI2MWgtLjAxNmEyLjQgMi40IDAgMCAwLTIuNTM1IDIuMjI3djIxLjM3N2g5LjE2M1YxMy4yNzVhLjkxNC45MTQgMCAwIDEgMS4zMzctLjcwN2wyNC4wMzIgMTEuMmEyLjgxMyAyLjgxMyAwIDAgMCAxLjE4OC4yNiAyLjQgMi40IDAgMCAwIDIuNTM1LTIuMjI3em03LjE2MSAyMy42M1YuNDE0aDQuMTkxdjIzLjYzem0yOC44NTYuNDIxYy0xMS4yNzQgMC0xOS4yNzItNC43LTE5LjI3Mi0xMi4yMzJDMTI0LjAyIDQuNzQxIDEzMi4wNjYgMCAxNDMuMjkyIDBzMTkuMzIgNC43IDE5LjMyIDEyLjIzMy03LjkwMiAxMi4yMzItMTkuMzIgMTIuMjMyem0wLTIxLjMzM2MtOC4zODMgMC0xNC44NCAzLjIxNy0xNC44NCA5LjEgMCA1LjkyNiA2LjQ1NyA5LjEgMTQuODQgOS4xczE0Ljg4Ny0zLjE3NCAxNC44ODctOS4xYzAtNS44ODMtNi41MDQtOS4xLTE0Ljg4Ny05LjF6IiBmaWxsPSIjYzcyYzQ4Ii8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Minio" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Minio Source" description: Receive data from MinIO. required: - bucketName - accessKey - secretKey - endpoint type: object properties: bucketName: title: Bucket Name description: The MinIO Bucket name. type: string deleteAfterRead: title: Auto-delete Objects description: Delete objects after consuming them. type: boolean default: true accessKey: title: Access Key description: The access key obtained from MinIO. type: string format: password x-descriptors: - urn:camel:group:credentials secretKey: title: Secret Key description: The secret key obtained from MinIO. type: string format: password x-descriptors: - urn:camel:group:credentials endpoint: title: Endpoint description: The MinIO Endpoint. You can specify an URL, domain name, IPv4 address, or IPv6 address. type: string example: http://localhost:9000 autoCreateBucket: title: Autocreate Bucket description: Specifies to automatically create the MinIO bucket. type: boolean default: false dependencies: - "camel:minio" - "camel:kamelet" template: from: uri: "minio:{{bucketName}}" parameters: autoCreateBucket: "{{autoCreateBucket}}" secretKey: "{{secretKey}}" accessKey: "{{accessKey}}" endpoint: "{{endpoint}}" deleteAfterRead: "{{deleteAfterRead}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mongodb-changes-stream-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzEgNjciIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9IjEiIHk9IjEiLz48c3ltYm9sIGlkPSJBIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgc3Ryb2tlPSJub25lIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjxwYXRoIGQ9Ik0xNC4xNzQuMTc1bDEuNzA4IDMuMjA4Yy4zNzEuNTc5LjgwNCAxLjExNyAxLjI5IDEuNjA0IDEuNDMgMS40MyAyLjc4OCAyLjkyOCA0LjAwOCA0LjUzMiAyLjg5NCAzLjggNC44NDYgOCA2LjI0IDEyLjU4NGEzMC45NCAzMC45NCAwIDAgMSAxLjMyNCA4LjU0Yy4xNCA4LjY0Ni0yLjgyNCAxNi4wNy04LjggMjIuMjQtLjk3Mi45NzgtMi4wMjIgMS44NzYtMy4xNCAyLjY4NC0uNTkyIDAtLjg3Mi0uNDU0LTEuMTE2LS44NzItLjQ1NC0uNzY2LS43MzItMS42NC0uODcyLTIuNTEtLjIxLTEuMDQ2LS4zNDgtMi4wOTItLjI4LTMuMTcydi0uNDg4Yy0uMDQ4LS4xMjQtLjU3LTQ4LjEyNC0uMzYyLTQ4LjM1eiIgZmlsbD0iIzU5OTYzNiIvPjxwYXRoIGQ9Ik0xNC4xNzQuMDY5Yy0uMDctLjE0LS4xNC0uMDM0LS4yMS4wMzQuMDM0LjctLjIxIDEuMzI0LS41OTIgMS45Mi0uNC41OTItLjk3NiAxLjA0Ni0xLjUzNCAxLjUzNC0zLjEgMi42ODQtNS41NCA1LjkyNi03LjQ5NCA5LjU1Mi0yLjYgNC44OC0zLjk0IDEwLjExLTQuMzIgMTUuNjE2LS4xNzQgMS45ODYuNjI4IDguOTk0IDEuMjU0IDExLjAxNiAxLjcwOCA1LjM2OCA0Ljc3NiA5Ljg2NiA4Ljc1IDEzLjc3YTM1LjA4IDM1LjA4IDAgMCAwIDMuMSAyLjY1Yy4zMTQgMCAuMzQ4LS4yOC40LS40ODhhOS41NyA5LjU3IDAgMCAwIC4zMTQtMS4zNmwuNy01LjIyOEwxNC4xNzQuMDY5eiIgZmlsbD0iIzZjYWM0OCIvPjxwYXRoIGQ9Ik0xNS44ODIgNTcuNjkxYy4wNy0uOC40NTQtMS40NjQuODcyLTIuMTI2LS40LS4xNzQtLjczMi0uNTItLjk3Ni0uOTA2YTYuNDcgNi40NyAwIDAgMS0uNTItMS4xNWMtLjQ4OC0xLjQ2NC0uNTkyLTMtLjczMi00LjQ5NnYtLjkwNmMtLjE3NC4xNC0uMjEgMS4zMjQtLjIxIDEuNS0uMTAyIDEuNTgxLS4zMTIgMy4xNTQtLjYyOCA0LjcwNi0uMTA0LjYyOC0uMTc0IDEuMjU0LS41NiAxLjgxMiAwIC4wNyAwIC4xNC4wMzQuMjQ0LjYyOCAxLjg0OC44IDMuNzMuOTA2IDUuNjQ4di43YzAgLjgzNi0uMDM0LjY2LjY2Ljk0LjI4LjEwNC41OTIuMTQuODcyLjM0OC4yMSAwIC4yNDQtLjE3NC4yNDQtLjMxNGwtLjEwNC0xLjE1di0zLjIwOGMtLjAzNC0uNTYuMDctMS4xMTYuMTQtMS42NHoiIGZpbGw9IiNjMmJmYmYiLz48L2c+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "MongoDB" camel.apache.org/kamelet.namespace: "Nosql" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "MongoDB Changes Stream Source" description: Consume Changes from MongoDB Collection in streaming mode. required: - hosts - collection - database type: object properties: hosts: title: MongoDB Hosts description: Comma separated list of MongoDB Host Addresses in host:port format. type: string collection: title: MongoDB Collection description: Sets the name of the MongoDB collection to bind to this endpoint. type: string password: title: MongoDB Password description: User password for accessing MongoDB. type: string format: password x-descriptors: - urn:camel:group:credentials username: title: MongoDB Username description: Username for accessing MongoDB. The username must be present in the MongoDB's authentication database (authenticationDatabase). By default, the MongoDB authenticationDatabase is 'admin'. type: string x-descriptors: - urn:camel:group:credentials ssl: title: Enable Ssl for Mongodb Connection description: whether to enable ssl connection to mongodb type: boolean default: true sslValidationEnabled: title: Enables Ssl Certificates Validation and Host name checks. description: IMPORTANT this should be disabled only in test environment since can pose security issues. type: boolean default: true database: title: MongoDB Database description: Sets the name of the MongoDB database to target. type: string streamFilter: title: Stream Filter description: Filter condition for change streams consumer. type: string example: "{ '$match':{'$or':[{'fullDocument.stringValue': 'specificValue'}]} }" dependencies: - "camel:kamelet" - "camel:mongodb" - "camel:jackson" template: beans: - name: local-mongodb type: "#class:org.apache.camel.component.mongodb.MongoDbComponent" - name: mongo-client type: "#class:org.apache.camel.component.mongodb.SslAwareMongoClient" properties: password: "{{?password}}" username: "{{?username}}" hosts: "{{hosts}}" ssl: "{{ssl}}" sslValidationEnabled: "{{sslValidationEnabled}}" from: uri: "{{local-mongodb}}:test" parameters: collection: "{{collection}}" database: "{{database}}" consumerType: "changeStreams" streamFilter: "{{?streamFilter}}" mongoConnection: "#{{mongo-client}}" steps: - marshal: json: {} - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mongodb-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzEgNjciIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9IjEiIHk9IjEiLz48c3ltYm9sIGlkPSJBIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgc3Ryb2tlPSJub25lIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjxwYXRoIGQ9Ik0xNC4xNzQuMTc1bDEuNzA4IDMuMjA4Yy4zNzEuNTc5LjgwNCAxLjExNyAxLjI5IDEuNjA0IDEuNDMgMS40MyAyLjc4OCAyLjkyOCA0LjAwOCA0LjUzMiAyLjg5NCAzLjggNC44NDYgOCA2LjI0IDEyLjU4NGEzMC45NCAzMC45NCAwIDAgMSAxLjMyNCA4LjU0Yy4xNCA4LjY0Ni0yLjgyNCAxNi4wNy04LjggMjIuMjQtLjk3Mi45NzgtMi4wMjIgMS44NzYtMy4xNCAyLjY4NC0uNTkyIDAtLjg3Mi0uNDU0LTEuMTE2LS44NzItLjQ1NC0uNzY2LS43MzItMS42NC0uODcyLTIuNTEtLjIxLTEuMDQ2LS4zNDgtMi4wOTItLjI4LTMuMTcydi0uNDg4Yy0uMDQ4LS4xMjQtLjU3LTQ4LjEyNC0uMzYyLTQ4LjM1eiIgZmlsbD0iIzU5OTYzNiIvPjxwYXRoIGQ9Ik0xNC4xNzQuMDY5Yy0uMDctLjE0LS4xNC0uMDM0LS4yMS4wMzQuMDM0LjctLjIxIDEuMzI0LS41OTIgMS45Mi0uNC41OTItLjk3NiAxLjA0Ni0xLjUzNCAxLjUzNC0zLjEgMi42ODQtNS41NCA1LjkyNi03LjQ5NCA5LjU1Mi0yLjYgNC44OC0zLjk0IDEwLjExLTQuMzIgMTUuNjE2LS4xNzQgMS45ODYuNjI4IDguOTk0IDEuMjU0IDExLjAxNiAxLjcwOCA1LjM2OCA0Ljc3NiA5Ljg2NiA4Ljc1IDEzLjc3YTM1LjA4IDM1LjA4IDAgMCAwIDMuMSAyLjY1Yy4zMTQgMCAuMzQ4LS4yOC40LS40ODhhOS41NyA5LjU3IDAgMCAwIC4zMTQtMS4zNmwuNy01LjIyOEwxNC4xNzQuMDY5eiIgZmlsbD0iIzZjYWM0OCIvPjxwYXRoIGQ9Ik0xNS44ODIgNTcuNjkxYy4wNy0uOC40NTQtMS40NjQuODcyLTIuMTI2LS40LS4xNzQtLjczMi0uNTItLjk3Ni0uOTA2YTYuNDcgNi40NyAwIDAgMS0uNTItMS4xNWMtLjQ4OC0xLjQ2NC0uNTkyLTMtLjczMi00LjQ5NnYtLjkwNmMtLjE3NC4xNC0uMjEgMS4zMjQtLjIxIDEuNS0uMTAyIDEuNTgxLS4zMTIgMy4xNTQtLjYyOCA0LjcwNi0uMTA0LjYyOC0uMTc0IDEuMjU0LS41NiAxLjgxMiAwIC4wNyAwIC4xNC4wMzQuMjQ0LjYyOCAxLjg0OC44IDMuNzMuOTA2IDUuNjQ4di43YzAgLjgzNi0uMDM0LjY2LjY2Ljk0LjI4LjEwNC41OTIuMTQuODcyLjM0OC4yMSAwIC4yNDQtLjE3NC4yNDQtLjMxNGwtLjEwNC0xLjE1di0zLjIwOGMtLjAzNC0uNTYuMDctMS4xMTYuMTQtMS42NHoiIGZpbGw9IiNjMmJmYmYiLz48L2c+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "MongoDB" camel.apache.org/kamelet.namespace: "Nosql" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "MongoDB Sink" description: Send data to MongoDB. required: - hosts - collection - database type: object properties: hosts: title: MongoDB Hosts description: A comma-separated list of MongoDB host addresses in `host:port` format. type: string collection: title: MongoDB Collection description: The name of the MongoDB collection to bind to this endpoint. type: string password: title: MongoDB Password description: A user password for accessing MongoDB. type: string format: password x-descriptors: - urn:camel:group:credentials username: title: MongoDB Username description: A username for accessing MongoDB. type: string x-descriptors: - urn:camel:group:credentials ssl: title: Enable Ssl for Mongodb Connection description: whether to enable ssl connection to mongodb. type: boolean default: true sslValidationEnabled: title: Enables Ssl Certificates Validation and Host name checks. description: IMPORTANT this should be disabled only in test environment since can pose security issues. type: boolean default: true database: title: MongoDB Database description: The name of the MongoDB database. type: string writeConcern: title: Write Concern description: The level of acknowledgment requested from MongoDB for write operations. type: string enum: ["ACKNOWLEDGED", "W1", "W2", "W3", "UNACKNOWLEDGED", "JOURNALED", "MAJORITY"] createCollection: title: Collection description: Create a collection during initialization if it doesn't exist. type: boolean default: false types: in: mediaType: application/json dependencies: - "camel:core" - "camel:kamelet" - "camel:mongodb" - "camel:jackson" template: beans: - name: local-mongodb type: "#class:org.apache.camel.component.mongodb.MongoDbComponent" - name: mongo-client type: "#class:org.apache.camel.component.mongodb.SslAwareMongoClient" properties: password: "{{?password}}" username: "{{?username}}" hosts: "{{hosts}}" ssl: "{{ssl}}" sslValidationEnabled: "{{sslValidationEnabled}}" from: uri: kamelet:source steps: - choice: when: - simple: "${header[db-upsert]}" steps: - setHeader: name: CamelMongoDbUpsert simple: "${header[db-upsert]}" - simple: "${header[ce-dbupsert]}" steps: - setHeader: name: CamelMongoDbUpsert simple: "${header[ce-dbupsert]}" - to: uri: "{{local-mongodb}}:test" parameters: createCollection: "{{?createCollection}}" writeConcern: "{{?writeConcern}}" collection: "{{collection}}" database: "{{database}}" operation: "insert" mongoConnection: "#{{mongo-client}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mongodb-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgMzEgNjciIGZpbGw9IiNmZmYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgc3Ryb2tlPSIjMDAwIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiPjx1c2UgeGxpbms6aHJlZj0iI0EiIHg9IjEiIHk9IjEiLz48c3ltYm9sIGlkPSJBIiBvdmVyZmxvdz0idmlzaWJsZSI+PGcgc3Ryb2tlPSJub25lIiBmaWxsLXJ1bGU9Im5vbnplcm8iPjxwYXRoIGQ9Ik0xNC4xNzQuMTc1bDEuNzA4IDMuMjA4Yy4zNzEuNTc5LjgwNCAxLjExNyAxLjI5IDEuNjA0IDEuNDMgMS40MyAyLjc4OCAyLjkyOCA0LjAwOCA0LjUzMiAyLjg5NCAzLjggNC44NDYgOCA2LjI0IDEyLjU4NGEzMC45NCAzMC45NCAwIDAgMSAxLjMyNCA4LjU0Yy4xNCA4LjY0Ni0yLjgyNCAxNi4wNy04LjggMjIuMjQtLjk3Mi45NzgtMi4wMjIgMS44NzYtMy4xNCAyLjY4NC0uNTkyIDAtLjg3Mi0uNDU0LTEuMTE2LS44NzItLjQ1NC0uNzY2LS43MzItMS42NC0uODcyLTIuNTEtLjIxLTEuMDQ2LS4zNDgtMi4wOTItLjI4LTMuMTcydi0uNDg4Yy0uMDQ4LS4xMjQtLjU3LTQ4LjEyNC0uMzYyLTQ4LjM1eiIgZmlsbD0iIzU5OTYzNiIvPjxwYXRoIGQ9Ik0xNC4xNzQuMDY5Yy0uMDctLjE0LS4xNC0uMDM0LS4yMS4wMzQuMDM0LjctLjIxIDEuMzI0LS41OTIgMS45Mi0uNC41OTItLjk3NiAxLjA0Ni0xLjUzNCAxLjUzNC0zLjEgMi42ODQtNS41NCA1LjkyNi03LjQ5NCA5LjU1Mi0yLjYgNC44OC0zLjk0IDEwLjExLTQuMzIgMTUuNjE2LS4xNzQgMS45ODYuNjI4IDguOTk0IDEuMjU0IDExLjAxNiAxLjcwOCA1LjM2OCA0Ljc3NiA5Ljg2NiA4Ljc1IDEzLjc3YTM1LjA4IDM1LjA4IDAgMCAwIDMuMSAyLjY1Yy4zMTQgMCAuMzQ4LS4yOC40LS40ODhhOS41NyA5LjU3IDAgMCAwIC4zMTQtMS4zNmwuNy01LjIyOEwxNC4xNzQuMDY5eiIgZmlsbD0iIzZjYWM0OCIvPjxwYXRoIGQ9Ik0xNS44ODIgNTcuNjkxYy4wNy0uOC40NTQtMS40NjQuODcyLTIuMTI2LS40LS4xNzQtLjczMi0uNTItLjk3Ni0uOTA2YTYuNDcgNi40NyAwIDAgMS0uNTItMS4xNWMtLjQ4OC0xLjQ2NC0uNTkyLTMtLjczMi00LjQ5NnYtLjkwNmMtLjE3NC4xNC0uMjEgMS4zMjQtLjIxIDEuNS0uMTAyIDEuNTgxLS4zMTIgMy4xNTQtLjYyOCA0LjcwNi0uMTA0LjYyOC0uMTc0IDEuMjU0LS41NiAxLjgxMiAwIC4wNyAwIC4xNC4wMzQuMjQ0LjYyOCAxLjg0OC44IDMuNzMuOTA2IDUuNjQ4di43YzAgLjgzNi0uMDM0LjY2LjY2Ljk0LjI4LjEwNC41OTIuMTQuODcyLjM0OC4yMSAwIC4yNDQtLjE3NC4yNDQtLjMxNGwtLjEwNC0xLjE1di0zLjIwOGMtLjAzNC0uNTYuMDctMS4xMTYuMTQtMS42NHoiIGZpbGw9IiNjMmJmYmYiLz48L2c+PC9zeW1ib2w+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "MongoDB" camel.apache.org/kamelet.namespace: "Nosql" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "MongoDB Source" description: Consume data from MongoDB. required: - hosts - collection - database type: object properties: hosts: title: MongoDB Hosts description: A comma-separated list of MongoDB host addresses in `host:port` format. type: string collection: title: MongoDB Collection description: The name of the MongoDB collection to bind to this endpoint. type: string password: title: MongoDB Password description: The user password for accessing MongoDB. type: string format: password x-descriptors: - urn:camel:group:credentials username: title: MongoDB Username description: The username for accessing MongoDB. The username must be present in the MongoDB's authentication database (`authenticationDatabase`). By default, the MongoDB `authenticationDatabase` is 'admin'. type: string x-descriptors: - urn:camel:group:credentials ssl: title: Enable Ssl for Mongodb Connection description: whether to enable ssl connection to mongodb type: boolean default: true sslValidationEnabled: title: Enables Ssl Certificates Validation and Host name checks. description: IMPORTANT this should be disabled only in test environment since can pose security issues. type: boolean default: true database: title: MongoDB Database description: The name of the MongoDB database. type: string persistentTailTracking: title: MongoDB Persistent Tail Tracking description: Specifies to enable persistent tail tracking, which is a mechanism to keep track of the last consumed data across system restarts. The next time the system is up, the endpoint recovers the cursor from the point where it last stopped consuimg data. This option will only work on capped collections. type: boolean default: false tailTrackIncreasingField: title: MongoDB Tail Track Increasing Field description: The correlation field in the incoming data which is of increasing nature and is used to position the tailing cursor every time it is generated. type: string dependencies: - "camel:kamelet" - "camel:mongodb" - "camel:jackson" template: beans: - name: local-mongodb type: "#class:org.apache.camel.component.mongodb.MongoDbComponent" - name: mongo-client type: "#class:org.apache.camel.component.mongodb.SslAwareMongoClient" properties: password: "{{?password}}" username: "{{?username}}" hosts: "{{hosts}}" ssl: "{{ssl}}" sslValidationEnabled: "{{sslValidationEnabled}}" from: uri: "{{local-mongodb}}:test" parameters: collection: "{{collection}}" database: "{{database}}" persistentTailTracking: "{{persistentTailTracking}}" tailTrackIncreasingField: "{{?tailTrackIncreasingField}}" mongoConnection: "#{{mongo-client}}" steps: - marshal: json: {} - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mqtt-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMiIgYmFzZVByb2ZpbGU9InRpbnkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMjAgMzIwIiBvdmVyZmxvdz0idmlzaWJsZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJibGFja19iZyIgZGlzcGxheT0ibm9uZSI+Cgk8cmVjdCBkaXNwbGF5PSJpbmxpbmUiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIi8+CjwvZz4KPGcgaWQ9ImxvZ29zIj4KCTxnPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik03LjEsMTgwLjZ2MTE3LjFjMCw4LjQsNi44LDE1LjMsMTUuMywxNS4zSDE0MkMxNDEsMjM5LjgsODAuOSwxODAuNyw3LjEsMTgwLjZ6Ii8+CgkJPHBhdGggZmlsbD0iIzY2MDA2NiIgZD0iTTcuMSw4NC4xdjQ5LjhjOTksMC45LDE3OS40LDgwLjcsMTgwLjQsMTc5LjFoNTEuN0MyMzguMiwxODYuNiwxMzQuNSw4NC4yLDcuMSw4NC4xeiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0zMTIuOSwyOTcuNlYxOTMuNUMyNzguMSwxMDcuMiwyMDcuMywzOC45LDExOSw3LjFIMjIuNGMtOC40LDAtMTUuMyw2LjgtMTUuMywxNS4zdjE1CgkJCWMxNTIuNiwwLjksMjc2LjYsMTI0LDI3Ny42LDI3NS42aDEzQzMwNi4xLDMxMi45LDMxMi45LDMwNi4xLDMxMi45LDI5Ny42eiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0yNzIuNiw0OS44YzE0LjUsMTQuNCwyOC42LDMxLjcsNDAuNCw0Ny44VjIyLjRjMC04LjQtNi44LTE1LjMtMTUuMy0xNS4zaC03Ny4zCgkJCUMyMzguNCwxOS43LDI1Ni42LDMzLjksMjcyLjYsNDkuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "MQTT" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "MQTT Sink" description: Allows sending messages to any endpoint that supports the MQTT protocol, such as a message broker. required: - topic - brokerUrl type: object properties: topic: title: Topic description: The topic to send messages to type: string example: "mytopic" brokerUrl: title: Broker URL description: The URL of the broker where to establish the connection type: string example: "tcp://mosquitto:1883" username: title: Username description: Username to use when connecting to the MQTT broker type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to use when connecting to the MQTT broker type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:paho" - "camel:kamelet" template: from: uri: kamelet:source steps: - to: uri: paho:{{topic}} parameters: brokerUrl: "{{brokerUrl}}" userName: "{{?username}}" password: "{{?password}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mqtt-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMiIgYmFzZVByb2ZpbGU9InRpbnkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMjAgMzIwIiBvdmVyZmxvdz0idmlzaWJsZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJibGFja19iZyIgZGlzcGxheT0ibm9uZSI+Cgk8cmVjdCBkaXNwbGF5PSJpbmxpbmUiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIi8+CjwvZz4KPGcgaWQ9ImxvZ29zIj4KCTxnPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik03LjEsMTgwLjZ2MTE3LjFjMCw4LjQsNi44LDE1LjMsMTUuMywxNS4zSDE0MkMxNDEsMjM5LjgsODAuOSwxODAuNyw3LjEsMTgwLjZ6Ii8+CgkJPHBhdGggZmlsbD0iIzY2MDA2NiIgZD0iTTcuMSw4NC4xdjQ5LjhjOTksMC45LDE3OS40LDgwLjcsMTgwLjQsMTc5LjFoNTEuN0MyMzguMiwxODYuNiwxMzQuNSw4NC4yLDcuMSw4NC4xeiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0zMTIuOSwyOTcuNlYxOTMuNUMyNzguMSwxMDcuMiwyMDcuMywzOC45LDExOSw3LjFIMjIuNGMtOC40LDAtMTUuMyw2LjgtMTUuMywxNS4zdjE1CgkJCWMxNTIuNiwwLjksMjc2LjYsMTI0LDI3Ny42LDI3NS42aDEzQzMwNi4xLDMxMi45LDMxMi45LDMwNi4xLDMxMi45LDI5Ny42eiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0yNzIuNiw0OS44YzE0LjUsMTQuNCwyOC42LDMxLjcsNDAuNCw0Ny44VjIyLjRjMC04LjQtNi44LTE1LjMtMTUuMy0xNS4zaC03Ny4zCgkJCUMyMzguNCwxOS43LDI1Ni42LDMzLjksMjcyLjYsNDkuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "MQTT" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "MQTT Source" description: Allows receiving messages from any endpoint that supports the MQTT protocol, such as a message broker. required: - topic - brokerUrl type: object properties: topic: title: Topic description: The topic to subscribe to type: string example: "mytopic" brokerUrl: title: Broker URL description: The URL of the broker where to establish the connection type: string example: "tcp://mosquitto:1883" clientId: title: Client ID description: The client ID to use when connecting to the resource type: string default: "mqtt-source" username: title: Username description: Username to use when connecting to the MQTT broker type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to use when connecting to the MQTT broker type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:paho" - "camel:kamelet" template: from: uri: paho:{{topic}} parameters: brokerUrl: "{{brokerUrl}}" clientId: "{{clientId}}" userName: "{{?username}}" password: "{{?password}}" steps: - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mqtt5-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMiIgYmFzZVByb2ZpbGU9InRpbnkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMjAgMzIwIiBvdmVyZmxvdz0idmlzaWJsZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJibGFja19iZyIgZGlzcGxheT0ibm9uZSI+Cgk8cmVjdCBkaXNwbGF5PSJpbmxpbmUiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIi8+CjwvZz4KPGcgaWQ9ImxvZ29zIj4KCTxnPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik03LjEsMTgwLjZ2MTE3LjFjMCw4LjQsNi44LDE1LjMsMTUuMywxNS4zSDE0MkMxNDEsMjM5LjgsODAuOSwxODAuNyw3LjEsMTgwLjZ6Ii8+CgkJPHBhdGggZmlsbD0iIzY2MDA2NiIgZD0iTTcuMSw4NC4xdjQ5LjhjOTksMC45LDE3OS40LDgwLjcsMTgwLjQsMTc5LjFoNTEuN0MyMzguMiwxODYuNiwxMzQuNSw4NC4yLDcuMSw4NC4xeiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0zMTIuOSwyOTcuNlYxOTMuNUMyNzguMSwxMDcuMiwyMDcuMywzOC45LDExOSw3LjFIMjIuNGMtOC40LDAtMTUuMyw2LjgtMTUuMywxNS4zdjE1CgkJCWMxNTIuNiwwLjksMjc2LjYsMTI0LDI3Ny42LDI3NS42aDEzQzMwNi4xLDMxMi45LDMxMi45LDMwNi4xLDMxMi45LDI5Ny42eiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0yNzIuNiw0OS44YzE0LjUsMTQuNCwyOC42LDMxLjcsNDAuNCw0Ny44VjIyLjRjMC04LjQtNi44LTE1LjMtMTUuMy0xNS4zaC03Ny4zCgkJCUMyMzguNCwxOS43LDI1Ni42LDMzLjksMjcyLjYsNDkuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "MQTT v5" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "MQTT v5 Sink" description: Allows sending messages to any endpoint that supports the MQTT v5 protocol, such as a message broker. required: - topic - brokerUrl type: object properties: topic: title: Topic description: The topic to send messages to. type: string example: "mytopic" brokerUrl: title: Broker URL description: The URL of the broker where to establish the connection. type: string example: "tcp://mosquitto:1883" username: title: Username description: Username to use when connecting to the MQTT v5 compliant broker. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to use when connecting to the MQTT v5 compliant broker. type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:paho-mqtt5" - "camel:kamelet" template: from: uri: kamelet:source steps: - to: uri: paho-mqtt5:{{topic}} parameters: brokerUrl: "{{brokerUrl}}" userName: "{{?username}}" password: "{{?password}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mqtt5-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDI0LjMuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMiIgYmFzZVByb2ZpbGU9InRpbnkiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIKCSB5PSIwcHgiIHZpZXdCb3g9IjAgMCAzMjAgMzIwIiBvdmVyZmxvdz0idmlzaWJsZSIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnIGlkPSJibGFja19iZyIgZGlzcGxheT0ibm9uZSI+Cgk8cmVjdCBkaXNwbGF5PSJpbmxpbmUiIHdpZHRoPSIzMjAiIGhlaWdodD0iMzIwIi8+CjwvZz4KPGcgaWQ9ImxvZ29zIj4KCTxnPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik03LjEsMTgwLjZ2MTE3LjFjMCw4LjQsNi44LDE1LjMsMTUuMywxNS4zSDE0MkMxNDEsMjM5LjgsODAuOSwxODAuNyw3LjEsMTgwLjZ6Ii8+CgkJPHBhdGggZmlsbD0iIzY2MDA2NiIgZD0iTTcuMSw4NC4xdjQ5LjhjOTksMC45LDE3OS40LDgwLjcsMTgwLjQsMTc5LjFoNTEuN0MyMzguMiwxODYuNiwxMzQuNSw4NC4yLDcuMSw4NC4xeiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0zMTIuOSwyOTcuNlYxOTMuNUMyNzguMSwxMDcuMiwyMDcuMywzOC45LDExOSw3LjFIMjIuNGMtOC40LDAtMTUuMyw2LjgtMTUuMywxNS4zdjE1CgkJCWMxNTIuNiwwLjksMjc2LjYsMTI0LDI3Ny42LDI3NS42aDEzQzMwNi4xLDMxMi45LDMxMi45LDMwNi4xLDMxMi45LDI5Ny42eiIvPgoJCTxwYXRoIGZpbGw9IiM2NjAwNjYiIGQ9Ik0yNzIuNiw0OS44YzE0LjUsMTQuNCwyOC42LDMxLjcsNDAuNCw0Ny44VjIyLjRjMC04LjQtNi44LTE1LjMtMTUuMy0xNS4zaC03Ny4zCgkJCUMyMzguNCwxOS43LDI1Ni42LDMzLjksMjcyLjYsNDkuOHoiLz4KCTwvZz4KPC9nPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "MQTT 5" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "MQTT 5 Source" description: Allows receiving messages from any endpoint that supports the MQTT v5 protocol, such as a message broker. required: - topic - brokerUrl type: object properties: topic: title: Topic description: The topic to subscribe to type: string example: "mytopic" brokerUrl: title: Broker URL description: The URL of the broker where to establish the connection type: string example: "tcp://mosquitto:1883" clientId: title: Client ID description: The client ID to use when connecting to the resource type: string default: "mqtt-source" username: title: Username description: Username to use when connecting to the MQTT v5 compliant broker type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to use when connecting to the MQTT v5 compliant broker type: string format: password x-descriptors: - urn:camel:group:credentials dependencies: - "camel:paho-mqtt5" - "camel:kamelet" template: from: uri: paho-mqtt5:{{topic}} parameters: brokerUrl: "{{brokerUrl}}" clientId: "{{clientId}}" userName: "{{?username}}" password: "{{?password}}" steps: - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ms-exchange-online-imap-oauth-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjQgOCA1NSA0OCI+PHRpdGxlPkV4Y2hhbmdlXzY0eDwvdGl0bGU+PHBhdGggZD0iTTU1LjUwOTc3LDhoLTEyLjIwN0EzLjQ4ODM1LDMuNDg4MzUsMCwwLDAsNDAuODM1LDkuMDIyNDZMMTIuMDIyNDYsMzcuODM1QTMuNDg4MzUsMy40ODgzNSwwLDAsMCwxMSw0MC4zMDI3M3YxMi4yMDdBMy40OTAwNiwzLjQ5MDA2LDAsMCwwLDE0LjQ5MDIzLDU2aDEyLjIwN0EzLjQ4ODM1LDMuNDg4MzUsMCwwLDAsMjkuMTY1LDU0Ljk3NzU0TDU3Ljk3OCwyNi4xNjVBMy40ODk5NCwzLjQ4OTk0LDAsMCwwLDU5LDIzLjY5NzI3di0xMi4yMDdBMy40OTAwNywzLjQ5MDA3LDAsMCwwLDU1LjUwOTc3LDhaIiBmaWxsPSIjMjhhOGVhIi8+PHBhdGggZD0iTTU1LjUxLDU2SDQzLjMwMjc1YTMuNDksMy40OSwwLDAsMS0yLjQ2NzgtMS4wMjIyTDM1LDQ5LjE0Mjg2VjM4LjI0QTYuMjQsNi4yNCwwLDAsMSw0MS4yNCwzMkg1Mi4xNDI4Nkw1Ny45Nzc4LDM3LjgzNUEzLjQ5LDMuNDksMCwwLDEsNTksNDAuMzAyNzVWNTIuNTFBMy40OSwzLjQ5LDAsMCwxLDU1LjUxLDU2WiIgZmlsbD0iIzAwNzhkNCIvPjxwYXRoIGQ9Ik0xNC40OSw4SDI2LjY5NzI1YTMuNDksMy40OSwwLDAsMSwyLjQ2NzgsMS4wMjIyTDM1LDE0Ljg1NzE0VjI1Ljc2QTYuMjQsNi4yNCwwLDAsMSwyOC43NiwzMkgxNy44NTcxNEwxMi4wMjIyLDI2LjE2NTA1QTMuNDksMy40OSwwLDAsMSwxMSwyMy42OTcyNVYxMS40OUEzLjQ5LDMuNDksMCwwLDEsMTQuNDksOFoiIGZpbGw9IiM1MGQ5ZmYiLz48cGF0aCBkPSJNMzMsMjAuMzMwMDhWNDYuNjY5OTJhMS43MzQ0NCwxLjczNDQ0LDAsMCwxLS4wNC4zOTk5QTIuMzEzNzgsMi4zMTM3OCwwLDAsMSwzMC42Njk5Miw0OUgxMVYxOEgzMC42Njk5MkEyLjMyNiwyLjMyNiwwLDAsMSwzMywyMC4zMzAwOFoiIG9wYWNpdHk9IjAuMiIvPjxwYXRoIGQ9Ik0zNCwyMC4zMzAwOFY0NC42Njk5MkEzLjM2MTcxLDMuMzYxNzEsMCwwLDEsMzAuNjY5OTIsNDhIMTFWMTdIMzAuNjY5OTJBMy4zNDE3NywzLjM0MTc3LDAsMCwxLDM0LDIwLjMzMDA4WiIgb3BhY2l0eT0iMC4xIi8+PHBhdGggZD0iTTMzLDIwLjMzMDA4VjQ0LjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMwLjY2OTkyLDQ3SDExVjE4SDMwLjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMzLDIwLjMzMDA4WiIgb3BhY2l0eT0iMC4yIi8+PHBhdGggZD0iTTMyLDIwLjMzMDA4VjQ0LjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDI5LjY2OTkyLDQ3SDExVjE4SDI5LjY2OTkyQTIuMzI2LDIuMzI2LDAsMCwxLDMyLDIwLjMzMDA4WiIgb3BhY2l0eT0iMC4xIi8+PHJlY3QgeD0iNC4wMDAyMiIgeT0iMTgiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgcng9IjIuMzMzMzMiIGZpbGw9IiMwMDc4ZDQiLz48cGF0aCBkPSJNMjIuNTg1MzMsMjYuODgxMjFoLTYuNTQ3MlYzMC43MDk4aDYuMTQ1MzV2Mi40NTM3NUgxNi4wMzgxM1YzNy4xNDAxaDYuODk2MDl2Mi40NDM0aC05Ljg2OFYyNC40MTY1aDkuNTE5MVoiIGZpbGw9IiNmZmYiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Mail" camel.apache.org/kamelet.namespace: "Mail" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Microsoft Exchange IMAP OAuth2 Source" description: Receive unread emails from an IMAP Microsoft Exchange mail server, marking them as read once they are received. required: - tenantId - clientId - clientSecret - username type: object properties: connectionHost: title: Connection Host description: The IMAP server host. type: string default: outlook.office365.com connectionPort: title: Connection Port description: The IMAP server port. type: string default: 993 tenantId: title: Tenant ID description: Azure Active Directory Tenant ID. type: string clientId: title: Client ID description: Azure Active Directory Application Client ID. type: string x-descriptors: - urn:camel:group:credentials clientSecret: title: Client Secret description: The Azure Active Directory Application Client Secret. type: string format: password x-descriptors: - urn:camel:group:credentials username: title: Username description: The username to access the mail box. type: string example: arthur@mycompany.com x-descriptors: - urn:camel:group:credentials fetchSize: title: Fetch Size description: The number of messages fetched for each poll (-1 for no limits). type: integer default: 10 delay: title: Delay description: The delay between fetches in milliseconds. type: integer default: 60000 dependencies: - "camel:core" - "camel:kamelet" - "camel:mail-microsoft-oauth" - "camel:mail" template: beans: - name: exchangeAuthenticator type: "#class:org.apache.camel.component.mail.microsoft.authenticator.MicrosoftExchangeOnlineOAuth2MailAuthenticator({{tenantId}}, {{clientId}}, {{clientSecret}}, {{username}})" from: uri: "imaps:{{connectionHost}}:{{connectionPort}}" parameters: mail.imaps.auth.mechanisms: "XOAUTH2" username: "{{username}}" fetchSize: "{{fetchSize}}" delay: "{{delay}}" authenticator: "#bean:{{exchangeAuthenticator}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mustache-template-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Mustache Template Action" description: Apply a Mustache Template. required: - template type: object properties: template: title: Template description: The inline template. type: string example: "file:////template.mustache" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:mustache" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "mustache:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mvel-template-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Mvel Template Action" description: Apply a Mvel Template. required: - template type: object properties: template: title: Template description: The inline template type: string example: "file:////template.mvel" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:mvel" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "mvel:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mysql-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmVyc2lvbj0iMS4wIj4KIDxyZWN0IGZpbGw9IiMyNjU1N2MiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgeD0iLTMwIiB5PSItMzAiIHJ4PSIxLjQiIHJ5PSIxLjQiIHRyYW5zZm9ybT0ibWF0cml4KDAsLTEsLTEsMCwwLDApIi8+CiA8cGF0aCBvcGFjaXR5PSIuMiIgZD0ibTguMDI1NCA4LjAwMDFjLTAuNzgyNS0wLjAxNjYtMS4xNDk0IDAuNTI0NC0wLjk4ODMgMS40NTcgMC4wNTIgMC4zMDA2IDAuMzE1MiAwLjcyOTkgMC44ODI4IDEuNDQxOSAwLjYzMTIyIDAuNzkwOSAwLjg4NTE0IDEuMjIyNyAxLjE2MDIgMS45NzA3IDAuNDMzNiAxLjE3OTMgMC42MzQwMyAxLjU3NDggMC45ODYzMyAxLjk0MzQgMC4yNzM2NiAwLjI4NjMgMC4yNzM2OSAwLjI4NzEyIDAuMDg5ODQgMC44NzEwOS0wLjI4NTA3IDAuOTA1NTYtMC4zNDQwNyAyLjcyMDctMC4xMTUyMyAzLjU3NDIgMC4zNDI0OCAxLjI3NzQgMC43NjQwMiAxLjg1NzQgMS4zNTE2IDEuODU3NCAwLjQxOTY4IDAgMC43NjM2NC0wLjM1MDkyIDAuODg2NzItMC45MDQzIDAuMDQyNjgtMC4xOTE4NiAwLjEyMjQ5LTAuNDY2MDcgMC4xNzc3My0wLjYwOTM4IDAuMDk1MzUtMC4yNDcyOCAwLjEyMDkzLTAuMjI4MTggMC40OTQxNCAwLjM4MDg2IDAuMjE2MjggMC4zNTI5NiAwLjYyODY2IDAuODc4NjEgMC45MTYwMiAxLjE2OCAwLjY2MzggMC42Njg0NSAxLjU3NDkgMS40MjE3IDEuNjQwNiAxLjM1NzQgMC4wMjc3NS0wLjAyNzEzLTAuMjM4LTAuNDIxNzctMC41ODk4NC0wLjg3ODkxcy0xLjAxNTEtMS41MTg5LTEuNDc0Ni0yLjM1OTRjLTAuNTM1OTMtMC45ODAyOS0wLjg5OTctMS41Mjg2LTEuMDEzNy0xLjUyOTMtMC4zNzA0NS0wLjAwMjUtMC43MTU4OCAwLjU4MDA0LTAuOTE2MDIgMS41NDY5LTAuMjMwNTYgMS4xMTM4LTAuNjM2NzUgMC45MjcwOC0wLjk2NjgtMC40NDUzMS0wLjE5MDE5LTAuNzkwODUtMC4wOTEwNi0xLjg1NiAwLjI2MzY3LTIuODUzNSAwLjE2MTM3LTAuNDUzNzYgMC4yOTI5Ny0wLjg3MzczIDAuMjkyOTctMC45MzE2NHMtMC4yNTczMS0wLjU0MzQ4LTAuNTcyMjctMS4wODAxYy0wLjMxNS0wLjUzNy0wLjY4NTEtMS4yOTctMC44MjItMS42OS0wLjMzMjYtMC45NTQtMC40OTA1LTEuMjMyLTEuMTU4Mi0yLjA0My0wLjY4NzktMC44MzQ2LTAuNzUzLTEuMjIwMy0wLjIwNTEtMS4yMTY2IDAuNDI1NTQgMC4wMDI4MSAxLjExMjMgMC4yODk0NCAxLjgwMjcgMC43NTM5MSAwLjQzNzEgMC4yOTQwNCAwLjU4NTIzIDAuMzMzOTggMS4yODcxIDAuMzMzOTggMC44ODE0MiAwIDEuMDcwOSAwLjA3MjIgMi4yOTMgMC44NzY5NSAxLjI0NDUgMC44MTk1OCAyLjE3MjIgMS41ODEzIDIuODE0NSAyLjMxMjUgMC41NzA0IDAuNjQ5MzcgMC44ODIwMSAxLjIxMzggMi41NjA1IDQuNjU2MiAwLjY0NDMzIDEuMzIxNCAxLjIxNTggMS45NTkzIDIuMDAzOSAyLjIzMjQgMS4yMTczIDAuNDIxODUgMS42MzE3IDAuNjEzMTQgMi4xNjggMC45OTgwNWwwLjU2NjQxIDAuNDA2MjUtMC4zODA4NiAwLjA3NDIyYy0wLjIxMDMgMC4wNDAzMy0wLjY2ODQ3IDAuMTA2MTYtMS4wMTc2IDAuMTQ2NDgtMC43Mjc0MSAwLjA4NC0xLjIwMzEgMC4zODU3My0xLjIwMzEgMC43NjM2NyAwIDAuNDI1OTIgMS40NTEzIDEuNjQ1MyAyLjkwNjIgMi40NDE0IDAuNjk5MDMgMC4zODI0NyAxLjM3MTYgMC43NTkyNyAxLjQ5NDEgMC44Mzc4OSAwLjMyNTk4IDAuMjA5MjIgMC40MTQyNCAwLjE4Mzg5IDAuMzMwMDgtMC4wOTE4LTAuMTc2MjQtMC41NzczOC0wLjc3Mjc5LTEuMTM5OC0yLjQyOTctMi4yOTQ5LTAuOTcxOTctMC42Nzc2LTAuOTgxOTktMC42NTI0NCAwLjMxNjQxLTAuNzgxMjUgMC45MjUtMC4wOTEgMS4zOTItMC4yNDkgMS4zOTItMC40NzIgMC0wLjEwMi0wLjQ3LTAuNjQ0LTEuMDQ1LTEuMjAzLTAuOS0wLjg3Ni0xLjIwNC0xLjA5NC0yLjE5NS0xLjU3Ny0xLjM1LTAuNjU2LTEuODQyLTEuMTc3LTIuMTUzLTIuMjgzLTAuNDY0LTEuNjQ5LTEuNzEyLTMuNTg3LTMuMzcxLTUuMjMtMS43MTItMS42OTYtMy4zNDctMi42MzQ0LTQuODQ1LTIuNzgxNC0wLjYwOS0wLjA1OTgtMC45MjQtMC4xNTIyLTEuMjM5LTAuMzY1My0wLjUzMzItMC4zNjExLTEuNzcxNy0wLjc2ODQtMi4zNzY2LTAuNzgxMnptMi45NjI5IDMuMDAyYy0wLjEyMjY2LTAuMDA3OS0wLjIyOTQ1IDAuMDA4NS0wLjMwMjczIDAuMDU4NTktMC4yNzM0MSAwLjE4Njk5LTAuMjQwOTkgMC40MTUwNCAwLjA4MDA4IDAuNTU2NjQgMC4xNTA5MiAwLjA2NjU2IDAuMzY1MDEgMC4zMDE0NyAwLjQ3NjU2IDAuNTIxNDggMC4zNzUxIDAuNzM5NzggMC45NDk4NSAwLjI0NDUgMC42OTMzNi0wLjU5NzY2LTAuMDgwODUtMC4yNjU0Ni0wLjU3OTMtMC41MTU0Ny0wLjk0NzI3LTAuNTM5MDZ6Ii8+CiA8cGF0aCBmaWxsPSIjZmZmIiBkPSJtOC4wMjU0IDdjLTAuNzgyNS0wLjAxNjYtMS4xNDk0IDAuNTI0NC0wLjk4ODMgMS40NTcgMC4wNTIgMC4zMDA2IDAuMzE1MiAwLjczMDIgMC44ODI4IDEuNDQxNCAwLjYzMTIgMC43OTA2IDAuODg1MiAxLjIyMjYgMS4xNjAyIDEuOTcwNiAwLjQzMzYgMS4xNzkgMC42MzQgMS41NzUgMC45ODU5IDEuOTQzIDAuMjc0IDAuMjg3IDAuMjc0IDAuMjg4IDAuMDkgMC44NzItMC4yODQ4IDAuOTA1LTAuMzQzOCAyLjcyLTAuMTE1IDMuNTc0IDAuMzQyIDEuMjc3IDAuNzY0IDEuODU3IDEuMzUyIDEuODU3IDAuNDE5IDAgMC43NjMtMC4zNTEgMC44ODYtMC45MDQgMC4wNDMtMC4xOTIgMC4xMjMtMC40NjYgMC4xNzgtMC42MDkgMC4wOTUtMC4yNDggMC4xMjEtMC4yMjkgMC40OTQgMC4zOCAwLjIxNiAwLjM1MyAwLjYyOSAwLjg3OSAwLjkxNiAxLjE2OCAwLjY2NCAwLjY2OSAxLjU3NSAxLjQyMiAxLjY0MSAxLjM1OCAwLjAyOC0wLjAyNy0wLjIzOC0wLjQyMi0wLjU5LTAuODc5cy0xLjAxNS0xLjUxOS0xLjQ3NS0yLjM1OWMtMC41MzYtMC45ODEtMC44OTktMS41MjktMS4wMTMtMS41My0wLjM3MS0wLjAwMi0wLjcxNiAwLjU4LTAuOTE2IDEuNTQ3LTAuMjMxIDEuMTE0LTAuNjM3IDAuOTI3LTAuOTY3LTAuNDQ1LTAuMTktMC43OTEtMC4wOTEtMS44NTYgMC4yNjQtMi44NTQgMC4xNjEtMC40NTMgMC4yOTMtMC44NzMgMC4yOTMtMC45MzFzLTAuMjU4LTAuNTQ0LTAuNTczLTEuMDhjLTAuMzE1LTAuNTM3LTAuNjg1MS0xLjI5Ny0wLjgyMi0xLjY5LTAuMzMyNi0wLjk1NC0wLjQ5MDUtMS4yMzItMS4xNTgyLTIuMDQyOS0wLjY4NzktMC44MzQ4LTAuNzUzLTEuMjIwNC0wLjIwNTEtMS4yMTY4IDAuNDI1NSAwLjAwMjkgMS4xMTIzIDAuMjg5NSAxLjgwMjMgMC43NTM5IDAuNDM4IDAuMjk0MSAwLjU4NiAwLjMzNCAxLjI4OCAwLjMzNCAwLjg4MSAwIDEuMDcgMC4wNzIyIDIuMjkzIDAuODc3IDEuMjQ0IDAuODE5OCAyLjE3MiAxLjU4MTggMi44MTQgMi4zMTI4IDAuNTcgMC42NDkgMC44ODIgMS4yMTQgMi41NjEgNC42NTYgMC42NDQgMS4zMjEgMS4yMTUgMS45NTkgMi4wMDMgMi4yMzIgMS4yMTggMC40MjIgMS42MzIgMC42MTMgMi4xNjggMC45OThsMC41NjcgMC40MDctMC4zODEgMC4wNzRjLTAuMjEgMC4wNC0wLjY2OSAwLjEwNi0xLjAxOCAwLjE0Ni0wLjcyNyAwLjA4NC0xLjIwMyAwLjM4Ni0xLjIwMyAwLjc2NCAwIDAuNDI2IDEuNDUxIDEuNjQ1IDIuOTA2IDIuNDQxIDAuNyAwLjM4MyAxLjM3MiAwLjc2IDEuNDk1IDAuODM4IDAuMzI2IDAuMjEgMC40MTQgMC4xODQgMC4zMy0wLjA5MS0wLjE3Ny0wLjU3OC0wLjc3My0xLjE0LTIuNDMtMi4yOTUtMC45NzItMC42NzgtMC45ODItMC42NTMgMC4zMTYtMC43ODIgMC45MjYtMC4wOTIgMS4zOTMtMC4yNSAxLjM5My0wLjQ3MiAwLTAuMTAyLTAuNDctMC42NDQtMS4wNDUtMS4yMDMtMC45LTAuODc3LTEuMjA0LTEuMDk0LTIuMTk1LTEuNTc3LTEuMzUtMC42NTYtMS44NDItMS4xNzctMi4xNTMtMi4yODMtMC40NjQtMS42NS0xLjcxMi0zLjU4Ny0zLjM3MS01LjIzLTEuNzEyLTEuNjk2NS0zLjM0Ny0yLjYzNDUtNC44NDUtMi43ODE1LTAuNjA5LTAuMDU5OC0wLjkyNC0wLjE1MjItMS4yMzktMC4zNjUzLTAuNTMzMi0wLjM2MTEtMS43NzE3LTAuNzY4NC0yLjM3NjYtMC43ODEyem0yLjk2MjYgMy4wMDJjLTAuMTIyLTAuMDA3OS0wLjIyOSAwLjAwOC0wLjMwMiAwLjA1OS0wLjI3NCAwLjE4Ny0wLjI0MSAwLjQxNSAwLjA4IDAuNTU2IDAuMTUxIDAuMDY3IDAuMzY1IDAuMzAyIDAuNDc2IDAuNTIyIDAuMzc1IDAuNzM5IDAuOTUgMC4yNDQgMC42OTQtMC41OTgtMC4wODEtMC4yNjUtMC41OC0wLjUxNS0wLjk0OC0wLjUzOXoiLz4KIDxwYXRoIGZpbGw9IiNmZmYiIG9wYWNpdHk9Ii4xIiBkPSJtMy40MDA0IDJjLTAuNzc1NiAwLTEuNDAwNCAwLjYyNDgtMS40MDA0IDEuNDAwNHYxYzAtMC43NzU2IDAuNjI0OC0xLjQwMDQgMS40MDA0LTEuNDAwNGgyNS4yYzAuNzc1IDAgMS40IDAuNjI0OCAxLjQgMS40MDA0di0xYzAtMC43NzU2LTAuNjI1LTEuNDAwNC0xLjQtMS40MDA0aC0yNS4yeiIvPgogPHBhdGggb3BhY2l0eT0iLjIiIGQ9Im0yIDI4LjZ2MWMwIDAuNzc1IDAuNjI0OCAxLjQgMS40MDA0IDEuNGgyNS4yYzAuNzc1IDAgMS40LTAuNjI1IDEuNC0xLjR2LTFjMCAwLjc3NS0wLjYyNSAxLjQtMS40IDEuNGgtMjUuMmMtMC43NzUyIDAtMS40LTAuNjI1LTEuNC0xLjR6Ii8+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "MySQL Sink" description: Send data to a MySQL Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 3306 username: title: Username description: The username to access a secured MySQL Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured MySQL Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the MySQL Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the MySQL Database. type: string types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-mysql-sink type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:mysql://{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'com.mysql.cj.jdbc.Driver' from: uri: "kamelet:source" steps: - unmarshal: json: library: Jackson - to: uri: "{{local-sql-mysql-sink}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: mysql-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiIgdmVyc2lvbj0iMS4wIj4KIDxyZWN0IGZpbGw9IiMyNjU1N2MiIHdpZHRoPSIyOCIgaGVpZ2h0PSIyOCIgeD0iLTMwIiB5PSItMzAiIHJ4PSIxLjQiIHJ5PSIxLjQiIHRyYW5zZm9ybT0ibWF0cml4KDAsLTEsLTEsMCwwLDApIi8+CiA8cGF0aCBvcGFjaXR5PSIuMiIgZD0ibTguMDI1NCA4LjAwMDFjLTAuNzgyNS0wLjAxNjYtMS4xNDk0IDAuNTI0NC0wLjk4ODMgMS40NTcgMC4wNTIgMC4zMDA2IDAuMzE1MiAwLjcyOTkgMC44ODI4IDEuNDQxOSAwLjYzMTIyIDAuNzkwOSAwLjg4NTE0IDEuMjIyNyAxLjE2MDIgMS45NzA3IDAuNDMzNiAxLjE3OTMgMC42MzQwMyAxLjU3NDggMC45ODYzMyAxLjk0MzQgMC4yNzM2NiAwLjI4NjMgMC4yNzM2OSAwLjI4NzEyIDAuMDg5ODQgMC44NzEwOS0wLjI4NTA3IDAuOTA1NTYtMC4zNDQwNyAyLjcyMDctMC4xMTUyMyAzLjU3NDIgMC4zNDI0OCAxLjI3NzQgMC43NjQwMiAxLjg1NzQgMS4zNTE2IDEuODU3NCAwLjQxOTY4IDAgMC43NjM2NC0wLjM1MDkyIDAuODg2NzItMC45MDQzIDAuMDQyNjgtMC4xOTE4NiAwLjEyMjQ5LTAuNDY2MDcgMC4xNzc3My0wLjYwOTM4IDAuMDk1MzUtMC4yNDcyOCAwLjEyMDkzLTAuMjI4MTggMC40OTQxNCAwLjM4MDg2IDAuMjE2MjggMC4zNTI5NiAwLjYyODY2IDAuODc4NjEgMC45MTYwMiAxLjE2OCAwLjY2MzggMC42Njg0NSAxLjU3NDkgMS40MjE3IDEuNjQwNiAxLjM1NzQgMC4wMjc3NS0wLjAyNzEzLTAuMjM4LTAuNDIxNzctMC41ODk4NC0wLjg3ODkxcy0xLjAxNTEtMS41MTg5LTEuNDc0Ni0yLjM1OTRjLTAuNTM1OTMtMC45ODAyOS0wLjg5OTctMS41Mjg2LTEuMDEzNy0xLjUyOTMtMC4zNzA0NS0wLjAwMjUtMC43MTU4OCAwLjU4MDA0LTAuOTE2MDIgMS41NDY5LTAuMjMwNTYgMS4xMTM4LTAuNjM2NzUgMC45MjcwOC0wLjk2NjgtMC40NDUzMS0wLjE5MDE5LTAuNzkwODUtMC4wOTEwNi0xLjg1NiAwLjI2MzY3LTIuODUzNSAwLjE2MTM3LTAuNDUzNzYgMC4yOTI5Ny0wLjg3MzczIDAuMjkyOTctMC45MzE2NHMtMC4yNTczMS0wLjU0MzQ4LTAuNTcyMjctMS4wODAxYy0wLjMxNS0wLjUzNy0wLjY4NTEtMS4yOTctMC44MjItMS42OS0wLjMzMjYtMC45NTQtMC40OTA1LTEuMjMyLTEuMTU4Mi0yLjA0My0wLjY4NzktMC44MzQ2LTAuNzUzLTEuMjIwMy0wLjIwNTEtMS4yMTY2IDAuNDI1NTQgMC4wMDI4MSAxLjExMjMgMC4yODk0NCAxLjgwMjcgMC43NTM5MSAwLjQzNzEgMC4yOTQwNCAwLjU4NTIzIDAuMzMzOTggMS4yODcxIDAuMzMzOTggMC44ODE0MiAwIDEuMDcwOSAwLjA3MjIgMi4yOTMgMC44NzY5NSAxLjI0NDUgMC44MTk1OCAyLjE3MjIgMS41ODEzIDIuODE0NSAyLjMxMjUgMC41NzA0IDAuNjQ5MzcgMC44ODIwMSAxLjIxMzggMi41NjA1IDQuNjU2MiAwLjY0NDMzIDEuMzIxNCAxLjIxNTggMS45NTkzIDIuMDAzOSAyLjIzMjQgMS4yMTczIDAuNDIxODUgMS42MzE3IDAuNjEzMTQgMi4xNjggMC45OTgwNWwwLjU2NjQxIDAuNDA2MjUtMC4zODA4NiAwLjA3NDIyYy0wLjIxMDMgMC4wNDAzMy0wLjY2ODQ3IDAuMTA2MTYtMS4wMTc2IDAuMTQ2NDgtMC43Mjc0MSAwLjA4NC0xLjIwMzEgMC4zODU3My0xLjIwMzEgMC43NjM2NyAwIDAuNDI1OTIgMS40NTEzIDEuNjQ1MyAyLjkwNjIgMi40NDE0IDAuNjk5MDMgMC4zODI0NyAxLjM3MTYgMC43NTkyNyAxLjQ5NDEgMC44Mzc4OSAwLjMyNTk4IDAuMjA5MjIgMC40MTQyNCAwLjE4Mzg5IDAuMzMwMDgtMC4wOTE4LTAuMTc2MjQtMC41NzczOC0wLjc3Mjc5LTEuMTM5OC0yLjQyOTctMi4yOTQ5LTAuOTcxOTctMC42Nzc2LTAuOTgxOTktMC42NTI0NCAwLjMxNjQxLTAuNzgxMjUgMC45MjUtMC4wOTEgMS4zOTItMC4yNDkgMS4zOTItMC40NzIgMC0wLjEwMi0wLjQ3LTAuNjQ0LTEuMDQ1LTEuMjAzLTAuOS0wLjg3Ni0xLjIwNC0xLjA5NC0yLjE5NS0xLjU3Ny0xLjM1LTAuNjU2LTEuODQyLTEuMTc3LTIuMTUzLTIuMjgzLTAuNDY0LTEuNjQ5LTEuNzEyLTMuNTg3LTMuMzcxLTUuMjMtMS43MTItMS42OTYtMy4zNDctMi42MzQ0LTQuODQ1LTIuNzgxNC0wLjYwOS0wLjA1OTgtMC45MjQtMC4xNTIyLTEuMjM5LTAuMzY1My0wLjUzMzItMC4zNjExLTEuNzcxNy0wLjc2ODQtMi4zNzY2LTAuNzgxMnptMi45NjI5IDMuMDAyYy0wLjEyMjY2LTAuMDA3OS0wLjIyOTQ1IDAuMDA4NS0wLjMwMjczIDAuMDU4NTktMC4yNzM0MSAwLjE4Njk5LTAuMjQwOTkgMC40MTUwNCAwLjA4MDA4IDAuNTU2NjQgMC4xNTA5MiAwLjA2NjU2IDAuMzY1MDEgMC4zMDE0NyAwLjQ3NjU2IDAuNTIxNDggMC4zNzUxIDAuNzM5NzggMC45NDk4NSAwLjI0NDUgMC42OTMzNi0wLjU5NzY2LTAuMDgwODUtMC4yNjU0Ni0wLjU3OTMtMC41MTU0Ny0wLjk0NzI3LTAuNTM5MDZ6Ii8+CiA8cGF0aCBmaWxsPSIjZmZmIiBkPSJtOC4wMjU0IDdjLTAuNzgyNS0wLjAxNjYtMS4xNDk0IDAuNTI0NC0wLjk4ODMgMS40NTcgMC4wNTIgMC4zMDA2IDAuMzE1MiAwLjczMDIgMC44ODI4IDEuNDQxNCAwLjYzMTIgMC43OTA2IDAuODg1MiAxLjIyMjYgMS4xNjAyIDEuOTcwNiAwLjQzMzYgMS4xNzkgMC42MzQgMS41NzUgMC45ODU5IDEuOTQzIDAuMjc0IDAuMjg3IDAuMjc0IDAuMjg4IDAuMDkgMC44NzItMC4yODQ4IDAuOTA1LTAuMzQzOCAyLjcyLTAuMTE1IDMuNTc0IDAuMzQyIDEuMjc3IDAuNzY0IDEuODU3IDEuMzUyIDEuODU3IDAuNDE5IDAgMC43NjMtMC4zNTEgMC44ODYtMC45MDQgMC4wNDMtMC4xOTIgMC4xMjMtMC40NjYgMC4xNzgtMC42MDkgMC4wOTUtMC4yNDggMC4xMjEtMC4yMjkgMC40OTQgMC4zOCAwLjIxNiAwLjM1MyAwLjYyOSAwLjg3OSAwLjkxNiAxLjE2OCAwLjY2NCAwLjY2OSAxLjU3NSAxLjQyMiAxLjY0MSAxLjM1OCAwLjAyOC0wLjAyNy0wLjIzOC0wLjQyMi0wLjU5LTAuODc5cy0xLjAxNS0xLjUxOS0xLjQ3NS0yLjM1OWMtMC41MzYtMC45ODEtMC44OTktMS41MjktMS4wMTMtMS41My0wLjM3MS0wLjAwMi0wLjcxNiAwLjU4LTAuOTE2IDEuNTQ3LTAuMjMxIDEuMTE0LTAuNjM3IDAuOTI3LTAuOTY3LTAuNDQ1LTAuMTktMC43OTEtMC4wOTEtMS44NTYgMC4yNjQtMi44NTQgMC4xNjEtMC40NTMgMC4yOTMtMC44NzMgMC4yOTMtMC45MzFzLTAuMjU4LTAuNTQ0LTAuNTczLTEuMDhjLTAuMzE1LTAuNTM3LTAuNjg1MS0xLjI5Ny0wLjgyMi0xLjY5LTAuMzMyNi0wLjk1NC0wLjQ5MDUtMS4yMzItMS4xNTgyLTIuMDQyOS0wLjY4NzktMC44MzQ4LTAuNzUzLTEuMjIwNC0wLjIwNTEtMS4yMTY4IDAuNDI1NSAwLjAwMjkgMS4xMTIzIDAuMjg5NSAxLjgwMjMgMC43NTM5IDAuNDM4IDAuMjk0MSAwLjU4NiAwLjMzNCAxLjI4OCAwLjMzNCAwLjg4MSAwIDEuMDcgMC4wNzIyIDIuMjkzIDAuODc3IDEuMjQ0IDAuODE5OCAyLjE3MiAxLjU4MTggMi44MTQgMi4zMTI4IDAuNTcgMC42NDkgMC44ODIgMS4yMTQgMi41NjEgNC42NTYgMC42NDQgMS4zMjEgMS4yMTUgMS45NTkgMi4wMDMgMi4yMzIgMS4yMTggMC40MjIgMS42MzIgMC42MTMgMi4xNjggMC45OThsMC41NjcgMC40MDctMC4zODEgMC4wNzRjLTAuMjEgMC4wNC0wLjY2OSAwLjEwNi0xLjAxOCAwLjE0Ni0wLjcyNyAwLjA4NC0xLjIwMyAwLjM4Ni0xLjIwMyAwLjc2NCAwIDAuNDI2IDEuNDUxIDEuNjQ1IDIuOTA2IDIuNDQxIDAuNyAwLjM4MyAxLjM3MiAwLjc2IDEuNDk1IDAuODM4IDAuMzI2IDAuMjEgMC40MTQgMC4xODQgMC4zMy0wLjA5MS0wLjE3Ny0wLjU3OC0wLjc3My0xLjE0LTIuNDMtMi4yOTUtMC45NzItMC42NzgtMC45ODItMC42NTMgMC4zMTYtMC43ODIgMC45MjYtMC4wOTIgMS4zOTMtMC4yNSAxLjM5My0wLjQ3MiAwLTAuMTAyLTAuNDctMC42NDQtMS4wNDUtMS4yMDMtMC45LTAuODc3LTEuMjA0LTEuMDk0LTIuMTk1LTEuNTc3LTEuMzUtMC42NTYtMS44NDItMS4xNzctMi4xNTMtMi4yODMtMC40NjQtMS42NS0xLjcxMi0zLjU4Ny0zLjM3MS01LjIzLTEuNzEyLTEuNjk2NS0zLjM0Ny0yLjYzNDUtNC44NDUtMi43ODE1LTAuNjA5LTAuMDU5OC0wLjkyNC0wLjE1MjItMS4yMzktMC4zNjUzLTAuNTMzMi0wLjM2MTEtMS43NzE3LTAuNzY4NC0yLjM3NjYtMC43ODEyem0yLjk2MjYgMy4wMDJjLTAuMTIyLTAuMDA3OS0wLjIyOSAwLjAwOC0wLjMwMiAwLjA1OS0wLjI3NCAwLjE4Ny0wLjI0MSAwLjQxNSAwLjA4IDAuNTU2IDAuMTUxIDAuMDY3IDAuMzY1IDAuMzAyIDAuNDc2IDAuNTIyIDAuMzc1IDAuNzM5IDAuOTUgMC4yNDQgMC42OTQtMC41OTgtMC4wODEtMC4yNjUtMC41OC0wLjUxNS0wLjk0OC0wLjUzOXoiLz4KIDxwYXRoIGZpbGw9IiNmZmYiIG9wYWNpdHk9Ii4xIiBkPSJtMy40MDA0IDJjLTAuNzc1NiAwLTEuNDAwNCAwLjYyNDgtMS40MDA0IDEuNDAwNHYxYzAtMC43NzU2IDAuNjI0OC0xLjQwMDQgMS40MDA0LTEuNDAwNGgyNS4yYzAuNzc1IDAgMS40IDAuNjI0OCAxLjQgMS40MDA0di0xYzAtMC43NzU2LTAuNjI1LTEuNDAwNC0xLjQtMS40MDA0aC0yNS4yeiIvPgogPHBhdGggb3BhY2l0eT0iLjIiIGQ9Im0yIDI4LjZ2MWMwIDAuNzc1IDAuNjI0OCAxLjQgMS40MDA0IDEuNGgyNS4yYzAuNzc1IDAgMS40LTAuNjI1IDEuNC0xLjR2LTFjMCAwLjc3NS0wLjYyNSAxLjQtMS40IDEuNGgtMjUuMmMtMC43NzUyIDAtMS40LTAuNjI1LTEuNC0xLjR6Ii8+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "MySQL Source" description: Query data from a MySQL Database. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 3306 username: title: Username description: The username to access a secured MySQL Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured MySQL Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the MySQL Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the MySQL Database. type: string consumedQuery: title: Consumed Query description: A query to run on a tuple consumed. type: string example: 'DELETE FROM accounts where user_id = :#user_id' delay: title: Delay description: The number of milliseconds before the next poll type: integer default: 500 types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-mysql-source type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:mysql://{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'com.mysql.cj.jdbc.Driver' from: uri: "{{local-sql-mysql-source}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" onConsume: "{{?consumedQuery}}" delay: "{{delay}}" steps: - marshal: json: library: Jackson - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: nats-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3NDQuMiIgaGVpZ2h0PSIxODEuODEiIHZpZXdCb3g9IjAgMCA3NDQuMiAxODEuODEiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMjlhOWRlO30uY2xzLTJ7ZmlsbDojZmZmO30uY2xzLTN7ZmlsbDojMzNhNjc1O30uY2xzLTR7ZmlsbDojMzY1YzkzO30uY2xzLTV7ZmlsbDojOGRjMzQxO308L3N0eWxlPjwvZGVmcz48dGl0bGU+bmF0cy1sb2dvLWZyZWVsb2dvdmVjdG9ycy5uZXQ8L3RpdGxlPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIuOSwyODQuMUgxNzhjLS4wNiw0Ny4zNS4wOCw5NC43Mi0uMDcsMTQyLjA3LTE5LjA1LDAtMzguMSwwLTU3LjE0LDAtLjI0LDEzLjI1LS4wNiwyNi41LS4wOSwzOS43NXEtMjEuNDUtMTkuOC00Mi44My0zOS42N2MtMjUtLjE3LTUwLDAtNzUtLjA4di0xNDJtMjguMDUsMzNjMCwyNS40My4wOSw1MC44Ni0uMDUsNzYuMjgsNy4wNy4zLDE0LjE2LjA5LDIxLjI0LjEtLjE1LTIwLDAtMzkuOTEtLjA5LTU5Ljg2LDIwLjM0LDE5LjExLDQwLjgyLDM4LjA2LDYxLjE2LDU3LjE3LDEuMjQsMSwyLjE0LDIuNzksMy44OSwyLjcxLDEwLjI3LjA2LDIwLjU1LS4wOCwzMC44MS4wNy4xNC0yNS40OS4wNy01MSwwLTc2LjVIMTI2Ljg4Yy4wNiwxOS41MiwwLDM5LjA1LDAsNTguNTdxLTMxLjQ3LTI5LjEzLTYyLjczLTU4LjUxQzUzLjExLDMxNy4wNiw0MiwzMTcuMTEsMzEsMzE3LjE1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjM0LjMzLDMxNy4wN2ExOTUuMDYsMTk1LjA2LDAsMCwxLDUzLjU4LjkzQTEwMS41NiwxMDEuNTYsMCwwLDEsNzA3LDMyMi43MmMwLDYsMCwxMi4wOCwwLDE4LjEyLTE4LTctMzcuNjctOS01Ni44OS04LjQ0LTYuMDguMzEtMTIuMzMuMTktMTguMTUsMi4yNGE0Ljc3LDQuNzcsMCwwLDAtMi44OCw2LjQ3YzEuMjUsMi43NCw0LjYyLDMsNy4yMSwzLjQ3LDE5LjQsMi4xMSwzOS4xNC4yNyw1OC4zNyw0LjEyLDUuOTMsMS4zNCwxMi41LDMuNDcsMTUuODMsOSwzLjYyLDYuMjgsMy42NSwxNC4xOCwxLjM1LDIwLjkyLTIsNS44NS03LjQ3LDkuNjctMTMuMDksMTEuNjItMTAuNjIsMy43My0yMiw0LjI2LTMzLjE3LDQuNi0yMC4wNy4xOC00MC41OC0xLjIyLTU5LjYxLTguMDYsMC01LjksMC0xMS44MSwwLTE3LjcxLDMuNzUuNjIsNy4xNiwyLjM4LDEwLjg1LDMuMjJhMTc3Ljg0LDE3Ny44NCwwLDAsMCw1Mi4yLDUuODZjNi4yOSwwLDEyLjY2LS4yNywxOC44MS0xLjc2LDIuNTktLjU0LDUuMTYtMi42Niw0Ljg2LTUuNTYtLjEyLTMuMjgtMy42My00LjYtNi4zOS00Ljg1LTIwLjU0LTIuODEtNDEuNjctLjM0LTYxLjkxLTUuNDctNi4zLTEuNjEtMTMuMDctNS4wNi0xNS4yMS0xMS42Ni0yLjQ5LTcuNzMtMS43Mi0xNy4yOCw0LjI1LTIzLjI4QzYxOC44LDMxOS45LDYyNi45MSwzMTguMyw2MzQuMzMsMzE3LjA3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzEsMzE3LjE1YzExLjA4LDAsMjIuMTYtLjA5LDMzLjI0LDBxMzEuMjYsMjkuMzcsNjIuNzMsNTguNTFjMC0xOS41MiwwLTM5LjA1LDAtNTguNTdIMTQ4YzAsMjUuNTEuMSw1MSwwLDc2LjUtMTAuMjYtLjE1LTIwLjU0LDAtMzAuODEtLjA3LTEuNzUuMDgtMi42NS0xLjc2LTMuODktMi43MS0yMC4zNC0xOS4xMS00MC44Mi0zOC4wNi02MS4xNi01Ny4xNy4xMywxOS45NS0uMDYsMzkuOS4wOSw1OS44Ni03LjA4LDAtMTQuMTcuMi0yMS4yNC0uMUMzMSwzNjgsMzAuOTQsMzQyLjU4LDMxLDMxNy4xNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTI2NC42LDMxNy41NGMuNjgtMS4yOSwyLjMxLS43MiwzLjQ3LS44Nyw4LjM5LjA3LDE2Ljc4LDAsMjUuMTYsMCwxOC4zMiwyNS42LDM2LjcxLDUxLjE1LDU0Ljg0LDc2Ljg3cS0xMi42MS0uMTMtMjUuMjIsMC01LjIxLTcuMzYtMTAuMzQtMTQuNzhjLTIyLjUxLS4xMy00NSwwLTY3LjUzLS4wNy0zLjU4LDQuODYtNi44OSw5LjkxLTEwLjM3LDE0LjgyLTguMDktLjA1LTE2LjE3LDAtMjQuMjQsMCwxOC0yNS4zNywzNi4xNS01MC42NSw1NC4yMy03Nm0tOC4zOCw0NS4xMmMxNS0uMDgsMjkuOTIuMDcsNDQuODgtLjA2LTcuNDMtMTAuNjUtMTUtMjEuMjYtMjIuMjUtMzJDMjcxLjA4LDM0MS4xMSwyNjMuNjQsMzUxLjksMjU2LjIyLDM2Mi42NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTQwOS44LDMxNy4yMXE1OS4xOSwwLDExOC4zOSwwYzAsNS43NCwwLDExLjQ3LDAsMTcuMjJxLTI0LjE1LDAtNDguMzIsMGMwLDE5LjY4LDAsMzkuMzYsMCw1OS03LjI0LDAtMTQuNDctLjA1LTIxLjcsMHEtLjA4LTI5LjUyLDAtNTljLTE2LjExLDAtMzIuMjIsMC00OC4zMywwUTQwOS43MywzMjUuODMsNDA5LjgsMzE3LjIxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0zIiBkPSJNMTkyLjYxLDI4NC4xaDE3NS4xcTAsNzEsMCwxNDItODcuNTQsMC0xNzUuMDgsMC0uMS03MSwwLTE0Mi4wNm03MiwzMy40NGMtMTguMDgsMjUuMzMtMzYuMjMsNTAuNjEtNTQuMjMsNzYsOC4wNywwLDE2LjE1LDAsMjQuMjQsMCwzLjQ4LTQuOTEsNi43OS0xMCwxMC4zNy0xNC44MiwyMi41MS4wNyw0NS0uMDYsNjcuNTMuMDdxNS4xMiw3LjQzLDEwLjM0LDE0Ljc4LDEyLjYtLjEyLDI1LjIyLDBjLTE4LjEzLTI1LjcyLTM2LjUyLTUxLjI3LTU0Ljg0LTc2Ljg3LTguMzgsMC0xNi43NywwLTI1LjE2LDBDMjY2LjkxLDMxNi44MiwyNjUuMjgsMzE2LjI1LDI2NC42LDMxNy41NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTI1Ni4yMiwzNjIuNjZjNy40Mi0xMC43NiwxNC44Ni0yMS41NSwyMi42My0zMi4wNyw3LjMsMTAuNzUsMTQuODIsMjEuMzYsMjIuMjUsMzJDMjg2LjE0LDM2Mi43MywyNzEuMTgsMzYyLjU4LDI1Ni4yMiwzNjIuNjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMi45IC0yODQuMSkiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik0zODIuMywyODQuMUg1NTcuNHEwLDcxLDAsMTQyLTg3LjU3LjE2LTE3NS4xNCwwLDAtNzEsMC0xNDJtMjcuNSwzMy4xMXEtLjA3LDguNjMsMCwxNy4yNWMxNi4xMSwwLDMyLjIyLDAsNDguMzMsMHEwLDI5LjUyLDAsNTljNy4yMy0uMDYsMTQuNDYsMCwyMS43LDAsLjA4LTE5LjY3LDAtMzkuMzUsMC01OXEyNC4xNywwLDQ4LjMyLDBjMC01Ljc1LDAtMTEuNDgsMC0xNy4yMlE0NjksMzE3LjE1LDQwOS44LDMxNy4yMVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtNSIgZD0iTTU3MiwyODQuMUg3NDcuMVY0MjZjLTcuMTYuMzktMTQuMzMuMDYtMjEuNDguMTZxLTc2LjgyLDAtMTUzLjY0LDAsMC03MSwwLTE0Mm02Mi4zNCwzM2MtNy40MiwxLjIzLTE1LjUzLDIuODMtMjAuOTQsOC40OC02LDYtNi43NCwxNS41NS00LjI1LDIzLjI4LDIuMTQsNi42LDguOTEsMTAuMDUsMTUuMjEsMTEuNjYsMjAuMjQsNS4xMyw0MS4zNywyLjY2LDYxLjkxLDUuNDcsMi43Ni4yNSw2LjI3LDEuNTcsNi4zOSw0Ljg1LjMsMi45LTIuMjcsNS00Ljg2LDUuNTYtNi4xNSwxLjQ5LTEyLjUyLDEuNzItMTguODEsMS43NmExNzcuODQsMTc3Ljg0LDAsMCwxLTUyLjItNS44NmMtMy42OS0uODQtNy4xLTIuNi0xMC44NS0zLjIyLDAsNS45LDAsMTEuODEsMCwxNy43MSwxOSw2Ljg0LDM5LjU0LDguMjQsNTkuNjEsOC4wNiwxMS4xNS0uMzQsMjIuNTUtLjg3LDMzLjE3LTQuNiw1LjYyLTIsMTEuMTEtNS43NywxMy4wOS0xMS42MiwyLjMtNi43NCwyLjI3LTE0LjY0LTEuMzUtMjAuOTItMy4zMy01LjUxLTkuOS03LjY0LTE1LjgzLTktMTkuMjMtMy44NS0zOS0yLTU4LjM3LTQuMTItMi41OS0uNTEtNi0uNzMtNy4yMS0zLjQ3YTQuNzcsNC43NywwLDAsMSwyLjg4LTYuNDdjNS44Mi0yLjA1LDEyLjA3LTEuOTMsMTguMTUtMi4yNCwxOS4yMi0uNTIsMzguODgsMS40Miw1Ni44OSw4LjQ0LDAtNiwwLTEyLjA4LDAtMTguMTJBMTAxLjU2LDEwMS41NiwwLDAsMCw2ODcuOTEsMzE4LDE5NS4wNiwxOTUuMDYsMCwwLDAsNjM0LjMzLDMxNy4wN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "NATS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "NATS Sink" description: Send data to NATS topics. required: - topic - servers type: object properties: topic: title: Topic description: NATS Topic name type: string servers: title: Servers description: Comma separated list of NATS Servers type: string format: password x-descriptors: - urn:camel:group:credentials jetstreamEnabled: title: Jetstream Enabled description: Sets whether to enable JetStream support for this endpoint. type: boolean default: false jetstreamName: title: Jetstream Stream Name description: Sets the name of the JetStream stream to use. type: string jetstreamAsync: title: Jetstream Async Enabled description: Sets whether to operate JetStream requests asynchronously. type: boolean default: true dependencies: - "camel:nats" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "nats:{{topic}}" parameters: servers: "{{servers}}" jetstreamEnabled: "{{?jetstreamEnabled}}" jetstreamName: "{{?jetstreamName}}" jetstreamAsync: "{{?jetstreamAsync}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: nats-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBpZD0iTGF5ZXJfMSIgZGF0YS1uYW1lPSJMYXllciAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI3NDQuMiIgaGVpZ2h0PSIxODEuODEiIHZpZXdCb3g9IjAgMCA3NDQuMiAxODEuODEiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMjlhOWRlO30uY2xzLTJ7ZmlsbDojZmZmO30uY2xzLTN7ZmlsbDojMzNhNjc1O30uY2xzLTR7ZmlsbDojMzY1YzkzO30uY2xzLTV7ZmlsbDojOGRjMzQxO308L3N0eWxlPjwvZGVmcz48dGl0bGU+bmF0cy1sb2dvLWZyZWVsb2dvdmVjdG9ycy5uZXQ8L3RpdGxlPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTIuOSwyODQuMUgxNzhjLS4wNiw0Ny4zNS4wOCw5NC43Mi0uMDcsMTQyLjA3LTE5LjA1LDAtMzguMSwwLTU3LjE0LDAtLjI0LDEzLjI1LS4wNiwyNi41LS4wOSwzOS43NXEtMjEuNDUtMTkuOC00Mi44My0zOS42N2MtMjUtLjE3LTUwLDAtNzUtLjA4di0xNDJtMjguMDUsMzNjMCwyNS40My4wOSw1MC44Ni0uMDUsNzYuMjgsNy4wNy4zLDE0LjE2LjA5LDIxLjI0LjEtLjE1LTIwLDAtMzkuOTEtLjA5LTU5Ljg2LDIwLjM0LDE5LjExLDQwLjgyLDM4LjA2LDYxLjE2LDU3LjE3LDEuMjQsMSwyLjE0LDIuNzksMy44OSwyLjcxLDEwLjI3LjA2LDIwLjU1LS4wOCwzMC44MS4wNy4xNC0yNS40OS4wNy01MSwwLTc2LjVIMTI2Ljg4Yy4wNiwxOS41MiwwLDM5LjA1LDAsNTguNTdxLTMxLjQ3LTI5LjEzLTYyLjczLTU4LjUxQzUzLjExLDMxNy4wNiw0MiwzMTcuMTEsMzEsMzE3LjE1WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNjM0LjMzLDMxNy4wN2ExOTUuMDYsMTk1LjA2LDAsMCwxLDUzLjU4LjkzQTEwMS41NiwxMDEuNTYsMCwwLDEsNzA3LDMyMi43MmMwLDYsMCwxMi4wOCwwLDE4LjEyLTE4LTctMzcuNjctOS01Ni44OS04LjQ0LTYuMDguMzEtMTIuMzMuMTktMTguMTUsMi4yNGE0Ljc3LDQuNzcsMCwwLDAtMi44OCw2LjQ3YzEuMjUsMi43NCw0LjYyLDMsNy4yMSwzLjQ3LDE5LjQsMi4xMSwzOS4xNC4yNyw1OC4zNyw0LjEyLDUuOTMsMS4zNCwxMi41LDMuNDcsMTUuODMsOSwzLjYyLDYuMjgsMy42NSwxNC4xOCwxLjM1LDIwLjkyLTIsNS44NS03LjQ3LDkuNjctMTMuMDksMTEuNjItMTAuNjIsMy43My0yMiw0LjI2LTMzLjE3LDQuNi0yMC4wNy4xOC00MC41OC0xLjIyLTU5LjYxLTguMDYsMC01LjksMC0xMS44MSwwLTE3LjcxLDMuNzUuNjIsNy4xNiwyLjM4LDEwLjg1LDMuMjJhMTc3Ljg0LDE3Ny44NCwwLDAsMCw1Mi4yLDUuODZjNi4yOSwwLDEyLjY2LS4yNywxOC44MS0xLjc2LDIuNTktLjU0LDUuMTYtMi42Niw0Ljg2LTUuNTYtLjEyLTMuMjgtMy42My00LjYtNi4zOS00Ljg1LTIwLjU0LTIuODEtNDEuNjctLjM0LTYxLjkxLTUuNDctNi4zLTEuNjEtMTMuMDctNS4wNi0xNS4yMS0xMS42Ni0yLjQ5LTcuNzMtMS43Mi0xNy4yOCw0LjI1LTIzLjI4QzYxOC44LDMxOS45LDYyNi45MSwzMTguMyw2MzQuMzMsMzE3LjA3WiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzEsMzE3LjE1YzExLjA4LDAsMjIuMTYtLjA5LDMzLjI0LDBxMzEuMjYsMjkuMzcsNjIuNzMsNTguNTFjMC0xOS41MiwwLTM5LjA1LDAtNTguNTdIMTQ4YzAsMjUuNTEuMSw1MSwwLDc2LjUtMTAuMjYtLjE1LTIwLjU0LDAtMzAuODEtLjA3LTEuNzUuMDgtMi42NS0xLjc2LTMuODktMi43MS0yMC4zNC0xOS4xMS00MC44Mi0zOC4wNi02MS4xNi01Ny4xNy4xMywxOS45NS0uMDYsMzkuOS4wOSw1OS44Ni03LjA4LDAtMTQuMTcuMi0yMS4yNC0uMUMzMSwzNjgsMzAuOTQsMzQyLjU4LDMxLDMxNy4xNVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTI2NC42LDMxNy41NGMuNjgtMS4yOSwyLjMxLS43MiwzLjQ3LS44Nyw4LjM5LjA3LDE2Ljc4LDAsMjUuMTYsMCwxOC4zMiwyNS42LDM2LjcxLDUxLjE1LDU0Ljg0LDc2Ljg3cS0xMi42MS0uMTMtMjUuMjIsMC01LjIxLTcuMzYtMTAuMzQtMTQuNzhjLTIyLjUxLS4xMy00NSwwLTY3LjUzLS4wNy0zLjU4LDQuODYtNi44OSw5LjkxLTEwLjM3LDE0LjgyLTguMDktLjA1LTE2LjE3LDAtMjQuMjQsMCwxOC0yNS4zNywzNi4xNS01MC42NSw1NC4yMy03Nm0tOC4zOCw0NS4xMmMxNS0uMDgsMjkuOTIuMDcsNDQuODgtLjA2LTcuNDMtMTAuNjUtMTUtMjEuMjYtMjIuMjUtMzJDMjcxLjA4LDM0MS4xMSwyNjMuNjQsMzUxLjksMjU2LjIyLDM2Mi42NloiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTQwOS44LDMxNy4yMXE1OS4xOSwwLDExOC4zOSwwYzAsNS43NCwwLDExLjQ3LDAsMTcuMjJxLTI0LjE1LDAtNDguMzIsMGMwLDE5LjY4LDAsMzkuMzYsMCw1OS03LjI0LDAtMTQuNDctLjA1LTIxLjcsMHEtLjA4LTI5LjUyLDAtNTljLTE2LjExLDAtMzIuMjIsMC00OC4zMywwUTQwOS43MywzMjUuODMsNDA5LjgsMzE3LjIxWiIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTIuOSAtMjg0LjEpIi8+PHBhdGggY2xhc3M9ImNscy0zIiBkPSJNMTkyLjYxLDI4NC4xaDE3NS4xcTAsNzEsMCwxNDItODcuNTQsMC0xNzUuMDgsMC0uMS03MSwwLTE0Mi4wNm03MiwzMy40NGMtMTguMDgsMjUuMzMtMzYuMjMsNTAuNjEtNTQuMjMsNzYsOC4wNywwLDE2LjE1LDAsMjQuMjQsMCwzLjQ4LTQuOTEsNi43OS0xMCwxMC4zNy0xNC44MiwyMi41MS4wNyw0NS0uMDYsNjcuNTMuMDdxNS4xMiw3LjQzLDEwLjM0LDE0Ljc4LDEyLjYtLjEyLDI1LjIyLDBjLTE4LjEzLTI1LjcyLTM2LjUyLTUxLjI3LTU0Ljg0LTc2Ljg3LTguMzgsMC0xNi43NywwLTI1LjE2LDBDMjY2LjkxLDMxNi44MiwyNjUuMjgsMzE2LjI1LDI2NC42LDMxNy41NFoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTI1Ni4yMiwzNjIuNjZjNy40Mi0xMC43NiwxNC44Ni0yMS41NSwyMi42My0zMi4wNyw3LjMsMTAuNzUsMTQuODIsMjEuMzYsMjIuMjUsMzJDMjg2LjE0LDM2Mi43MywyNzEuMTgsMzYyLjU4LDI1Ni4yMiwzNjIuNjZaIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMi45IC0yODQuMSkiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik0zODIuMywyODQuMUg1NTcuNHEwLDcxLDAsMTQyLTg3LjU3LjE2LTE3NS4xNCwwLDAtNzEsMC0xNDJtMjcuNSwzMy4xMXEtLjA3LDguNjMsMCwxNy4yNWMxNi4xMSwwLDMyLjIyLDAsNDguMzMsMHEwLDI5LjUyLDAsNTljNy4yMy0uMDYsMTQuNDYsMCwyMS43LDAsLjA4LTE5LjY3LDAtMzkuMzUsMC01OXEyNC4xNywwLDQ4LjMyLDBjMC01Ljc1LDAtMTEuNDgsMC0xNy4yMlE0NjksMzE3LjE1LDQwOS44LDMxNy4yMVoiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjxwYXRoIGNsYXNzPSJjbHMtNSIgZD0iTTU3MiwyODQuMUg3NDcuMVY0MjZjLTcuMTYuMzktMTQuMzMuMDYtMjEuNDguMTZxLTc2LjgyLDAtMTUzLjY0LDAsMC03MSwwLTE0Mm02Mi4zNCwzM2MtNy40MiwxLjIzLTE1LjUzLDIuODMtMjAuOTQsOC40OC02LDYtNi43NCwxNS41NS00LjI1LDIzLjI4LDIuMTQsNi42LDguOTEsMTAuMDUsMTUuMjEsMTEuNjYsMjAuMjQsNS4xMyw0MS4zNywyLjY2LDYxLjkxLDUuNDcsMi43Ni4yNSw2LjI3LDEuNTcsNi4zOSw0Ljg1LjMsMi45LTIuMjcsNS00Ljg2LDUuNTYtNi4xNSwxLjQ5LTEyLjUyLDEuNzItMTguODEsMS43NmExNzcuODQsMTc3Ljg0LDAsMCwxLTUyLjItNS44NmMtMy42OS0uODQtNy4xLTIuNi0xMC44NS0zLjIyLDAsNS45LDAsMTEuODEsMCwxNy43MSwxOSw2Ljg0LDM5LjU0LDguMjQsNTkuNjEsOC4wNiwxMS4xNS0uMzQsMjIuNTUtLjg3LDMzLjE3LTQuNiw1LjYyLTIsMTEuMTEtNS43NywxMy4wOS0xMS42MiwyLjMtNi43NCwyLjI3LTE0LjY0LTEuMzUtMjAuOTItMy4zMy01LjUxLTkuOS03LjY0LTE1LjgzLTktMTkuMjMtMy44NS0zOS0yLTU4LjM3LTQuMTItMi41OS0uNTEtNi0uNzMtNy4yMS0zLjQ3YTQuNzcsNC43NywwLDAsMSwyLjg4LTYuNDdjNS44Mi0yLjA1LDEyLjA3LTEuOTMsMTguMTUtMi4yNCwxOS4yMi0uNTIsMzguODgsMS40Miw1Ni44OSw4LjQ0LDAtNiwwLTEyLjA4LDAtMTguMTJBMTAxLjU2LDEwMS41NiwwLDAsMCw2ODcuOTEsMzE4LDE5NS4wNiwxOTUuMDYsMCwwLDAsNjM0LjMzLDMxNy4wN1oiIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0yLjkgLTI4NC4xKSIvPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "NATS" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "NATS Source" description: Receive data from NATS topics. required: - topic - servers type: object properties: topic: title: Topic description: NATS Topic name type: string servers: title: Servers description: Comma separated list of NATS Servers type: string format: password x-descriptors: - urn:camel:group:credentials jetstreamEnabled: title: Jetstream Enabled description: Sets whether to enable JetStream support for this endpoint. type: boolean default: false jetstreamName: title: Jetstream Stream Name description: Sets the name of the JetStream stream to use. type: string jetstreamAsync: title: Jetstream Async Enabled description: Sets whether to operate JetStream requests asynchronously. type: boolean default: true types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:nats" - "camel:kamelet" template: from: uri: "nats:{{topic}}" parameters: servers: "{{servers}}" jetstreamEnabled: "{{?jetstreamEnabled}}" jetstreamName: "{{?jetstreamName}}" jetstreamAsync: "{{?jetstreamAsync}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: nominatim-geocode-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjwhLS0gQ3JlYXRlZCB3aXRoIElua3NjYXBlIChodHRwOi8vd3d3Lmlua3NjYXBlLm9yZy8pIC0tPgoKPHN2ZwogICB3aWR0aD0iMjU2IgogICBoZWlnaHQ9IjI1NiIKICAgaWQ9InN2ZzMwMzgiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4xLjIgKDBhMDBjZjUzMzksIDIwMjItMDItMDQpIgogICBzb2RpcG9kaTpkb2NuYW1lPSJPcGVuU3RyZWV0TWFwIGxvZ28gMjAxMS5zdmciCiAgIGlua3NjYXBlOmV4cG9ydC1maWxlbmFtZT0iL2hvbWUvZnJlZC9ibGEucG5nIgogICBpbmtzY2FwZTpleHBvcnQteGRwaT0iMTgwIgogICBpbmtzY2FwZTpleHBvcnQteWRwaT0iMTgwIgogICBzb2RpcG9kaTp2ZXJzaW9uPSIwLjMyIgogICBpbmtzY2FwZTpvdXRwdXRfZXh0ZW5zaW9uPSJvcmcuaW5rc2NhcGUub3V0cHV0LnN2Zy5pbmtzY2FwZSIKICAgeG1sbnM6aW5rc2NhcGU9Imh0dHA6Ly93d3cuaW5rc2NhcGUub3JnL25hbWVzcGFjZXMvaW5rc2NhcGUiCiAgIHhtbG5zOnNvZGlwb2RpPSJodHRwOi8vc29kaXBvZGkuc291cmNlZm9yZ2UubmV0L0RURC9zb2RpcG9kaS0wLmR0ZCIKICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c3ZnPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iPgogIDx0aXRsZQogICAgIGlkPSJ0aXRsZTM1OTQiPk9wZW5TdHJlZXRNYXAgbG9nbyAyMDExPC90aXRsZT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzA0MCI+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDY4NDYiPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY4NDgiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjAuOTMwNTAxOTQ7IgogICAgICAgICBvZmZzZXQ9IjAuNSIKICAgICAgICAgaWQ9InN0b3A2ODUyIiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY4NTAiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MDsiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1ODYyIj4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTI5NTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1ODY0IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzYiCiAgICAgICAgIG9mZnNldD0iMC4xMjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmN2RkODQ7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzQiCiAgICAgICAgIG9mZnNldD0iMC4yMDU4MDU4MiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3MCIKICAgICAgICAgb2Zmc2V0PSIwLjMwMTEyNjIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjRjZTUxO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTdhYTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMC4zNDEyMDM5IgogICAgICAgICBpZD0ic3RvcDU4NzIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNlZmJiMGU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNTg2NiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NjIiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMmQzMzM1O3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU3NjQiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTc3MCIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM0YzQ2NGE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzg0MDQyO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU3NjYiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1NzQ1Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1NzQ3IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU3NTMiCiAgICAgICAgIG9mZnNldD0iMC44MzkzMjc1MSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MDsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNkMGU5ZjI7c3RvcC1vcGFjaXR5OjAuMjgxODUzMjk7IgogICAgICAgICBvZmZzZXQ9IjAuOTQzMDg1MDciCiAgICAgICAgIGlkPSJzdG9wNTc1NSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A1NzQ5IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDY4MCI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDY4MiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A0Njg0IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAzMiA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF96PSI2NCA6IDMyIDogMSIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIzMiA6IDIxLjMzMzMzMyA6IDEiCiAgICAgICBpZD0icGVyc3BlY3RpdmUzMDQ2IiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmUzMDU2IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTM4NDQiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlMzg3MSIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmUzODk3IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTM5MjYiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlMzk1MyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmUzOTc5IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTQwMDUiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNDAyOCIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU0MDU0IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTQwODMiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNDEzMiIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU0MTU4IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTQxODQiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNDIxOSIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU0Mjc2IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTQzMDIiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNDMyOCIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU0MzU0IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTQzODYiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNDQxMyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU0NDM5IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTQ0NjUiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNDQ5NyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU0NTIzIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTQ1NDkiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNDU3NSIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU0NjAxIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTQ2MjciCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNDY1MyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU0ODM3IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ2ODAtNyI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDY4Mi0yIiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDQ2ODQtNyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ4NDYiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ4NDgiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDg1MCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ4NTMiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ4NTUiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDg1NyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ4NjAiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ4NjIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDg2NCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ4NjciPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ4NjkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDg3MSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ4NzQiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ4NzYiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDg3OCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ4ODEiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ4ODMiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDg4NSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ4ODgiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ4OTAiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDg5MiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ3NDQtOSI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDc0Ni0zIiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDQ3NDgtOCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOSIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ3NzQtOSIKICAgICAgIHgxPSIyMTMuNSIKICAgICAgIHkxPSItNzYiCiAgICAgICB4Mj0iMTgxLjc1MDA1IgogICAgICAgeTI9Ii01LjY1NjMwMDEiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNTE0OCIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1MTc5IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTUyMDEiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNTIwMS03IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTUyMDEtNzIiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNTIwMS0wIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTUyNjAiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNTI5NiIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1MzM5IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoNTM4MyI+CiAgICAgIDxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOiNjZWVlYWI7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICAgIGQ9Im0gOSwxMi4yNSBjIDAsMCA3LjUsMTMgMTEuNzUsMjcuNzUgQyAyNSw1NC43NSAyNyw2NS41IDI3LDY1LjUgYyAwLDAgLTUuNSwxMi43NSAtOC4yNSwyNC43NSAtMi43NSwxMiAtNS43NSwyMyAtNS43NSwyMyAwLDAgNS43NSwxNiA5LjI1LDMwIDMuNSwxNCAzLjc1LDI0LjI1IDMuNzUsMjQuMjUgMCwwIC00LDEwLjI1IC03LjUsMjQuMjUgLTMuNSwxNCAtNSwzMC43NSAtNSwzMC43NSAwLDAgOS4yNSwtMiAyOC41LDEuMjUgMTkuMjUsMy4yNSAzMi4yNSw2IDMyLjI1LDYgMCwwIDEyLjc1LC0yLjc1IDI0LC02LjI1IDExLjI1LC0zLjUgMTYuMjUsLTYuNSAxNi4yNSwtNi41IDAsMCA1LjUsMC41IDIyLjUsNi4yNSAxNyw1Ljc1IDI5LjI1LDguNSAyOS4yNSw4LjUgMCwwIDEzLC0yLjc1IDI2LC01Ljc1IDEzLC0zIDI2LjUsLTggMjYuNSwtOCAwLDAgLTAuNzUsLTUgNC4yNSwtMjQuNSA1LC0xOS41IDguNzUsLTI4IDguNzUsLTI4IDAsMCAtMC41LC00LjUgLTMuNzUsLTE5Ljc1IEMgMjI0Ljc1LDEzMC41IDIxOCwxMTYgMjE4LDExNiBjIDAsMCAxLjc1LC0xMC41IDYuNzUsLTIzLjc1IEMgMjI5Ljc1LDc5IDIzNSw2NS41IDIzNSw2NS41IGMgMCwwIC00Ljc1LC0xNS4yNSAtNy41LC0yOS43NSBDIDIyNC43NSwyMS4yNSAyMTkuMjUsMTAgMjE5LjI1LDEwIGMgMCwwIC0yNC4yNSw5IC0zMS43NSwxMC41IC03LjUsMS41IC0yMSw1LjI1IC0yMSw1LjI1IDAsMCAtOS43NSwtNC4yNSAtMjIsLTguNSAtMTIuMjUsLTQuMjUgLTI5Ljc1LC01LjUgLTI5Ljc1LC01LjUgMCwwIC0zLjI1LDMuNSAtMjIsOCAtMTguNzUsNC41IC0yNy41LDUuNzUgLTI3LjUsNS43NSAwLDAgLTE4LjUsLTkgLTMxLjUsLTExLjUgLTEzLC0yLjUgLTI0LC0yIC0yNC43NSwtMS43NSB6IgogICAgICAgICBpZD0icGF0aDUzODUiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1NDEyIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoNTQyNiI+CiAgICAgIDxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOiNjZWVlYWI7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICAgIGQ9Im0gOSwxMi4yNSBjIDAsMCA3LjUsMTMgMTEuNzUsMjcuNzUgQyAyNSw1NC43NSAyNyw2NS41IDI3LDY1LjUgYyAwLDAgLTUuNSwxMi43NSAtOC4yNSwyNC43NSAtMi43NSwxMiAtNS43NSwyMyAtNS43NSwyMyAwLDAgNS43NSwxNiA5LjI1LDMwIDMuNSwxNCAzLjc1LDI0LjI1IDMuNzUsMjQuMjUgMCwwIC00LDEwLjI1IC03LjUsMjQuMjUgLTMuNSwxNCAtNSwzMC43NSAtNSwzMC43NSAwLDAgOS4yNSwtMiAyOC41LDEuMjUgMTkuMjUsMy4yNSAzMi4yNSw2IDMyLjI1LDYgMCwwIDEyLjc1LC0yLjc1IDI0LC02LjI1IDExLjI1LC0zLjUgMTYuMjUsLTYuNSAxNi4yNSwtNi41IDAsMCA1LjUsMC41IDIyLjUsNi4yNSAxNyw1Ljc1IDI5LjI1LDguNSAyOS4yNSw4LjUgMCwwIDEzLC0yLjc1IDI2LC01Ljc1IDEzLC0zIDI2LjUsLTggMjYuNSwtOCAwLDAgLTAuNzUsLTUgNC4yNSwtMjQuNSA1LC0xOS41IDguNzUsLTI4IDguNzUsLTI4IDAsMCAtMC41LC00LjUgLTMuNzUsLTE5Ljc1IEMgMjI0Ljc1LDEzMC41IDIxOCwxMTYgMjE4LDExNiBjIDAsMCAxLjc1LC0xMC41IDYuNzUsLTIzLjc1IEMgMjI5Ljc1LDc5IDIzNSw2NS41IDIzNSw2NS41IGMgMCwwIC00Ljc1LC0xNS4yNSAtNy41LC0yOS43NSBDIDIyNC43NSwyMS4yNSAyMTkuMjUsMTAgMjE5LjI1LDEwIGMgMCwwIC0yNC4yNSw5IC0zMS43NSwxMC41IC03LjUsMS41IC0yMSw1LjI1IC0yMSw1LjI1IDAsMCAtOS43NSwtNC4yNSAtMjIsLTguNSAtMTIuMjUsLTQuMjUgLTI5Ljc1LC01LjUgLTI5Ljc1LC01LjUgMCwwIC0zLjI1LDMuNSAtMjIsOCAtMTguNzUsNC41IC0yNy41LDUuNzUgLTI3LjUsNS43NSAwLDAgLTE4LjUsLTkgLTMxLjUsLTExLjUgLTEzLC0yLjUgLTI0LC0yIC0yNC43NSwtMS43NSB6IgogICAgICAgICBpZD0icGF0aDU0MjgiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1NDUyIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoNTQ2NiI+CiAgICAgIDxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOiNjZWVlYWI7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICAgIGQ9Im0gOSwxMi4yNSBjIDAsMCA3LjUsMTMgMTEuNzUsMjcuNzUgQyAyNSw1NC43NSAyNyw2NS41IDI3LDY1LjUgYyAwLDAgLTUuNSwxMi43NSAtOC4yNSwyNC43NSAtMi43NSwxMiAtNS43NSwyMyAtNS43NSwyMyAwLDAgNS43NSwxNiA5LjI1LDMwIDMuNSwxNCAzLjc1LDI0LjI1IDMuNzUsMjQuMjUgMCwwIC00LDEwLjI1IC03LjUsMjQuMjUgLTMuNSwxNCAtNSwzMC43NSAtNSwzMC43NSAwLDAgOS4yNSwtMiAyOC41LDEuMjUgMTkuMjUsMy4yNSAzMi4yNSw2IDMyLjI1LDYgMCwwIDEyLjc1LC0yLjc1IDI0LC02LjI1IDExLjI1LC0zLjUgMTYuMjUsLTYuNSAxNi4yNSwtNi41IDAsMCA1LjUsMC41IDIyLjUsNi4yNSAxNyw1Ljc1IDI5LjI1LDguNSAyOS4yNSw4LjUgMCwwIDEzLC0yLjc1IDI2LC01Ljc1IDEzLC0zIDI2LjUsLTggMjYuNSwtOCAwLDAgLTAuNzUsLTUgNC4yNSwtMjQuNSA1LC0xOS41IDguNzUsLTI4IDguNzUsLTI4IDAsMCAtMC41LC00LjUgLTMuNzUsLTE5Ljc1IEMgMjI0Ljc1LDEzMC41IDIxOCwxMTYgMjE4LDExNiBjIDAsMCAxLjc1LC0xMC41IDYuNzUsLTIzLjc1IEMgMjI5Ljc1LDc5IDIzNSw2NS41IDIzNSw2NS41IGMgMCwwIC00Ljc1LC0xNS4yNSAtNy41LC0yOS43NSBDIDIyNC43NSwyMS4yNSAyMTkuMjUsMTAgMjE5LjI1LDEwIGMgMCwwIC0yNC4yNSw5IC0zMS43NSwxMC41IC03LjUsMS41IC0yMSw1LjI1IC0yMSw1LjI1IDAsMCAtOS43NSwtNC4yNSAtMjIsLTguNSAtMTIuMjUsLTQuMjUgLTI5Ljc1LC01LjUgLTI5Ljc1LC01LjUgMCwwIC0zLjI1LDMuNSAtMjIsOCAtMTguNzUsNC41IC0yNy41LDUuNzUgLTI3LjUsNS43NSAwLDAgLTE4LjUsLTkgLTMxLjUsLTExLjUgLTEzLC0yLjUgLTI0LC0yIC0yNC43NSwtMS43NSB6IgogICAgICAgICBpZD0icGF0aDU0NjgiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1NjE0IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTU2MzgiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNTYzOC0xIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTU2MzgtMyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1Njc5IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTU3MDEiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNTcyMyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1Nzg4IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDU3NjItOSIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NjgtMSIKICAgICAgIHgxPSIxMjMiCiAgICAgICB5MT0iMTUwLjM3NSIKICAgICAgIHgyPSIxMzMiCiAgICAgICB5Mj0iMTUwLjM3NSIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtMSwwLDAsMSwyNTYsMCkiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NjItOSI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMyZDMzMzU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNTc2NC02IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU3NzAtMyIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM0YzQ2NGE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzg0MDQyO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU3NjYtNiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTU4MjkiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgeTI9IjE1MC4zNzUiCiAgICAgICB4Mj0iMTMzIgogICAgICAgeTE9IjE1MC4zNzUiCiAgICAgICB4MT0iMTIzIgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgtMiwwLDAsMS43Njk5MTE1LDM4NCwtODYuNjUwNDQpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1Nzk4LTQiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ1NzYyLTktNiIKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTc2Mi05LTYiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMmQzMzM1O3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU3NjQtNi02IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU3NzAtMy03IgogICAgICAgICBvZmZzZXQ9IjAuNSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzRjNDY0YTtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMzODQwNDI7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNTc2Ni02LTIiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1ODg2IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDU4NjItMSIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU4NjgtNCIKICAgICAgIHgxPSIxMjAiCiAgICAgICB5MT0iMTg2LjUiCiAgICAgICB4Mj0iMTM2IgogICAgICAgeTI9IjE4Ni41IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU4NjItMSI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmOWUyOTU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNTg2NC0wIiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzYtMCIKICAgICAgICAgb2Zmc2V0PSIwLjEyNSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y3ZGQ4NDtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3NC02IgogICAgICAgICBvZmZzZXQ9IjAuMjA1ODA1ODIiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzAtNCIKICAgICAgICAgb2Zmc2V0PSIwLjMwMTEyNjIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjRjZTUxO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTdhYTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMC4zNDEyMDM5IgogICAgICAgICBpZD0ic3RvcDU4NzItNCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2VmYmIwZTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A1ODY2LTMiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU1OTM2IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIHkyPSIxODYuNSIKICAgICAgIHgyPSIxMzYiCiAgICAgICB5MT0iMTg2LjUiCiAgICAgICB4MT0iMTIwIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1ODk5LTMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ1ODYyLTEtNCIKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCw2OSkiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU4NjItMS00Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTI5NTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1ODY0LTAtNyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1ODc2LTAtMiIKICAgICAgICAgb2Zmc2V0PSIwLjEyNSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y3ZGQ4NDtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3NC02LTEiCiAgICAgICAgIG9mZnNldD0iMC4yMDU4MDU4MiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3MC00LTciCiAgICAgICAgIG9mZnNldD0iMC4zMDExMjYyMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y0Y2U1MTtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmOWU3YWE7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAuMzQxMjAzOSIKICAgICAgICAgaWQ9InN0b3A1ODcyLTQtOSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2VmYmIwZTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A1ODY2LTMtNSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTU5MzYtOCIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICB5Mj0iMTg2LjUiCiAgICAgICB4Mj0iMTM2IgogICAgICAgeTE9IjE4Ni41IgogICAgICAgeDE9IjEyMCIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTg5OS05IgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NTg2Mi0xLTUiCiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0idHJhbnNsYXRlKDAsNjkpIiAvPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1ODYyLTEtNSI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmOWUyOTU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNTg2NC0wLTUiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3Ni0wLTIxIgogICAgICAgICBvZmZzZXQ9IjAuMTI1IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjdkZDg0O3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1ODc0LTYtNSIKICAgICAgICAgb2Zmc2V0PSIwLjIwNTgwNTgyIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1ODcwLTQtOSIKICAgICAgICAgb2Zmc2V0PSIwLjMwMTEyNjIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjRjZTUxO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTdhYTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMC4zNDEyMDM5IgogICAgICAgICBpZD0ic3RvcDU4NzItNC05MSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2VmYmIwZTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A1ODY2LTMtNiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTYwMTQiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgeTI9IjE4Ni41IgogICAgICAgeDI9IjEzNiIKICAgICAgIHkxPSIxODYuNSIKICAgICAgIHgxPSIxMjAiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU4OTktMCIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDU4NjItMS01MyIKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJ0cmFuc2xhdGUoMCw2NykiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU4NjItMS01MyI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmOWUyOTU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNTg2NC0wLTIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3Ni0wLTEiCiAgICAgICAgIG9mZnNldD0iMC4xMjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmN2RkODQ7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzQtNi05IgogICAgICAgICBvZmZzZXQ9IjAuMjA1ODA1ODIiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzAtNC03NiIKICAgICAgICAgb2Zmc2V0PSIwLjMwMTEyNjIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjRjZTUxO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTdhYTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMC4zNDEyMDM5IgogICAgICAgICBpZD0ic3RvcDU4NzItNC04IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZWZiYjBlO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU4NjYtMy0yIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNjA4MCIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1NzQ1LTMiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZDBlOWYyO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU3NDctMyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1NzUzLTYiCiAgICAgICAgIG9mZnNldD0iMC44MzkzMjc1MSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MDsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNkMGU5ZjI7c3RvcC1vcGFjaXR5OjAuMjgxODUzMjk7IgogICAgICAgICBvZmZzZXQ9IjAuOTQzMDg1MDciCiAgICAgICAgIGlkPSJzdG9wNTc1NS05IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZDBlOWYyO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU3NDktMCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NjItOCI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMyZDMzMzU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNTc2NC01IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU3NzAtMSIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM0YzQ2NGE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzg0MDQyO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU3NjYtMiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDYwOTYiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMmQzMzM1O3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDYwOTgiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNjEwMCIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM0YzQ2NGE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzg0MDQyO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDYxMDIiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1ODYyLTMiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjllMjk1O3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU4NjQtOCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1ODc2LTA5IgogICAgICAgICBvZmZzZXQ9IjAuMTI1IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjdkZDg0O3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1ODc0LTIiCiAgICAgICAgIG9mZnNldD0iMC4yMDU4MDU4MiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3MC0zIgogICAgICAgICBvZmZzZXQ9IjAuMzAxMTI2MjEiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmNGNlNTE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjllN2FhO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwLjM0MTIwMzkiCiAgICAgICAgIGlkPSJzdG9wNTg3Mi0xIiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZWZiYjBlO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU4NjYtOCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NjItOS00Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzJkMzMzNTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1NzY0LTYtMSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1NzcwLTMtNiIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM0YzQ2NGE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzg0MDQyO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU3NjYtNi0zIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTg2Mi0xLTU1Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTI5NTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1ODY0LTAtMCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1ODc2LTAtMTIiCiAgICAgICAgIG9mZnNldD0iMC4xMjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmN2RkODQ7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzQtNi02IgogICAgICAgICBvZmZzZXQ9IjAuMjA1ODA1ODIiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzAtNC00IgogICAgICAgICBvZmZzZXQ9IjAuMzAxMTI2MjEiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmNGNlNTE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjllN2FhO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwLjM0MTIwMzkiCiAgICAgICAgIGlkPSJzdG9wNTg3Mi00LTg1IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZWZiYjBlO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU4NjYtMy02MiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDU3NjItOCIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDYyNTAiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTAuOTg0MjcxNzksLTAuOTg0MjcxNzksLTAuOTg0MjcxNzksMC45ODQyNzE3OSwzODQuOTExOTQsMTI2LjgxMTY4KSIKICAgICAgIHgxPSIxMjMiCiAgICAgICB5MT0iMTUwLjM3NSIKICAgICAgIHgyPSIxMzMiCiAgICAgICB5Mj0iMTUwLjM3NSIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NTc2Mi04IgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NjI1MyIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgwLjk4NDI3MTc5LDAuOTg0MjcxNzksLTAuOTg0MjcxNzksMC45ODQyNzE3OSwxMzIuOTM4MzYsLTEyNS4xNjE5KSIKICAgICAgIHgxPSIxMjgiCiAgICAgICB5MT0iMTM0LjM1OTM4IgogICAgICAgeDI9IjEzMC44NzUiCiAgICAgICB5Mj0iMTQzLjM1OTM4IiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU2MjY5IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDU3NjItOS00LTYiCiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ2MjQ0LTQiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEuOTY4NTQzNiwtMS45Njg1NDM2LC0xLjc0MjA3NCwxLjc0MjA3NCw1OTYuMTg2MzIsMTc3LjUxMDg5KSIKICAgICAgIHgxPSIxMjMiCiAgICAgICB5MT0iMTUwLjM3NSIKICAgICAgIHgyPSIxMzMiCiAgICAgICB5Mj0iMTUwLjM3NSIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTc2Mi05LTQtNiI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMyZDMzMzU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNTc2NC02LTEtMCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1NzcwLTMtNi03IgogICAgICAgICBvZmZzZXQ9IjAuNSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzRjNDY0YTtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMzODQwNDI7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNTc2Ni02LTMtNCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTYzMTQiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNjQzNyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NzQ0LTktOSIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDY0MjctOCIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDAuNjkyMDkyMTYsLTEuNDE0MjEzNiwxNy43NTQzMTMpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ3NDQtOS05Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A0NzQ2LTMtOCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A0NzQ4LTgtMyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOS05IgogICAgICAgaWQ9InJhZGlhbEdyYWRpZW50NjQ0NSIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDAuNjkyMDkyMTYsLTEuNDE0MjEzNiwxNy43NTQzMTMpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOS05IgogICAgICAgaWQ9InJhZGlhbEdyYWRpZW50NjQ1MyIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDAuNjkyMDkyMTYsLTEuNDE0MjEzNiwxNy43NTQzMTMpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOS05IgogICAgICAgaWQ9InJhZGlhbEdyYWRpZW50NjQ2MSIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDAuNjkyMDkyMTYsLTEuNDE0MjEzNiwxNy43NTQzMTMpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOS05IgogICAgICAgaWQ9InJhZGlhbEdyYWRpZW50NjQ2OSIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEsMCwwLDAuNjkyMDkyMTYsLTEuNDE0MjEzNiwxNy43NTQzMTMpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTY1NTEiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxyYWRpYWxHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NTc0NS0zLTMiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2MjU2LTYiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMS4wMDUyMTM3LDEuMDA1MjEzNywxLjAwNTIxMzcsLTEuMDA1MjEzNywtNDAuODM3OTYsNTMuMjUzMjk2KSIKICAgICAgIGN4PSIxMjgiCiAgICAgICBjeT0iODYiCiAgICAgICBmeD0iMTI4IgogICAgICAgZnk9Ijg2IgogICAgICAgcj0iNDciIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NDUtMy0zIj4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1NzQ3LTMtMCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1NzUzLTYtMSIKICAgICAgICAgb2Zmc2V0PSIwLjgzOTMyNzUxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZDBlOWYyO3N0b3Atb3BhY2l0eTowOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MC4yODE4NTMyOTsiCiAgICAgICAgIG9mZnNldD0iMC45NDMwODUwNyIKICAgICAgICAgaWQ9InN0b3A1NzU1LTktNCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A1NzQ5LTAtOCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTY2MDUiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NjU4OS02IgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NjU5NS02IgogICAgICAgeDE9IjEyNi42NDI5NSIKICAgICAgIHkxPSIyOS44MTQ4OTQiCiAgICAgICB4Mj0iMTc5Ljk2MTE1IgogICAgICAgeTI9IjEzNy4xOTU2NSIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAvPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ2NTg5LTYiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDY1OTEtNiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A2NTkzLTEiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU2NjQzIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDY1ODktMiIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDY1OTUtOCIKICAgICAgIHgxPSIxMjYuNjQyOTUiCiAgICAgICB5MT0iMjkuODE0ODk0IgogICAgICAgeDI9IjE3OS45NjExNSIKICAgICAgIHkyPSIxMzcuMTk1NjUiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NjU4OS0yIj4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A2NTkxLTkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNjU5My02IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNjY4MSIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NzQ0LTktNCIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDY0MjctOSIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEuMjEyNDc3OCwwLDAsMC44MzkxNDYzNSwtNDcuODk1NDk0LDM0LjQwODAxNykiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDc0NC05LTQiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ3NDYtMy0zIiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDQ3NDgtOC03IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDc0NC05LTQiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2Njg5IgogICAgICAgY3g9IjE1OS42MTMxNyIKICAgICAgIGN5PSI3Mi41ODgzMDMiCiAgICAgICBmeD0iMTU5LjYxMzE3IgogICAgICAgZnk9IjcyLjU4ODMwMyIKICAgICAgIHI9IjM4LjQxNjkwNCIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMS4yMTI0Nzc4LDAsMCwwLjgzOTE0NjM1LC00Ny44OTU0OTQsMzQuNDA4MDE3KSIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAvPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NzQ0LTktNCIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDY2OTciCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGZ4PSIxNTkuNjEzMTciCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgcj0iMzguNDE2OTA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzUsLTQ3Ljg5NTQ5NCwzNC40MDgwMTcpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOS00IgogICAgICAgaWQ9InJhZGlhbEdyYWRpZW50NjcwNSIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEuMjEyNDc3OCwwLDAsMC44MzkxNDYzNSwtNDcuODk1NDk0LDM0LjQwODAxNykiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgLz4KICAgIDxyYWRpYWxHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDc0NC05LTQiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2NzEzIgogICAgICAgY3g9IjE1OS42MTMxNyIKICAgICAgIGN5PSI3Mi41ODgzMDMiCiAgICAgICBmeD0iMTU5LjYxMzE3IgogICAgICAgZnk9IjcyLjU4ODMwMyIKICAgICAgIHI9IjM4LjQxNjkwNCIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMS4yMTI0Nzc4LDAsMCwwLjgzOTE0NjM1LC00Ny44OTU0OTQsMzQuNDA4MDE3KSIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAvPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGN5PSI3Mi41ODgzMDMiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzQsLTQ3Ljg5NTQ5MiwzNC40MDgwMTgpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2NzI2IgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDc0NC05LTQiCiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiIC8+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTY2ODEtNiIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NzQ0LTktNDkiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2NDI3LTAiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGZ4PSIxNTkuNjEzMTciCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgcj0iMzguNDE2OTA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzUsLTQ3Ljg5NTQ5NCwzNC40MDgwMTcpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ3NDQtOS00OSI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDc0Ni0zLTEiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDc0OC04LTIiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NzQ0LTktNDkiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2Njg5LTIiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGZ4PSIxNTkuNjEzMTciCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgcj0iMzguNDE2OTA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzUsLTQ3Ljg5NTQ5NCwzNC40MDgwMTcpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOS00OSIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDY2OTctMiIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEuMjEyNDc3OCwwLDAsMC44MzkxNDYzNSwtNDcuODk1NDk0LDM0LjQwODAxNykiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgLz4KICAgIDxyYWRpYWxHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDc0NC05LTQ5IgogICAgICAgaWQ9InJhZGlhbEdyYWRpZW50NjcwNS00IgogICAgICAgY3g9IjE1OS42MTMxNyIKICAgICAgIGN5PSI3Mi41ODgzMDMiCiAgICAgICBmeD0iMTU5LjYxMzE3IgogICAgICAgZnk9IjcyLjU4ODMwMyIKICAgICAgIHI9IjM4LjQxNjkwNCIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMS4yMTI0Nzc4LDAsMCwwLjgzOTE0NjM1LC00Ny44OTU0OTQsMzQuNDA4MDE3KSIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAvPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NzQ0LTktNDkiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2NzEzLTYiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGZ4PSIxNTkuNjEzMTciCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgcj0iMzguNDE2OTA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzUsLTQ3Ljg5NTQ5NCwzNC40MDgwMTcpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIHI9IjM4LjQxNjkwNCIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICBmeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEuMjEyNDc3OCwwLDAsMC44MzkxNDYzNCwtNDcuODk1NDkyLDM0LjQwODAxOCkiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDY3MjYtMCIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOS00OSIKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlNjg2MyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ2NTg5LTYtOSI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNjU5MS02LTciIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNjU5My0xLTIiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ2ODQ2LTgiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2NDI3LTYiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGZ4PSIxNTkuNjEzMTciCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgcj0iMzguNDE2OTA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzQsLTQ3Ljg5NTQ5MywzNC40MDgwMTkpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDY4NDYtOCI+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNjg0OC04IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eTowLjkzMDUwMTk0OyIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIGlkPSJzdG9wNjg1Mi05IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY4NTAtOCIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eTowOyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDY4NDYtOCIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDY4NzYiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGZ4PSIxNTkuNjEzMTciCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgcj0iMzguNDE2OTA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzUsLTQ3Ljg5NTQ5NCwzNC40MDgwMTcpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDY4NzgiPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY4ODAiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjAuOTMwNTAxOTQ7IgogICAgICAgICBvZmZzZXQ9IjAuNSIKICAgICAgICAgaWQ9InN0b3A2ODgyIiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY4ODQiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MDsiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ2ODQ2LTgiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2ODg2IgogICAgICAgY3g9IjE1OS42MTMxNyIKICAgICAgIGN5PSI3Mi41ODgzMDMiCiAgICAgICBmeD0iMTU5LjYxMzE3IgogICAgICAgZnk9IjcyLjU4ODMwMyIKICAgICAgIHI9IjM4LjQxNjkwNCIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMS4yMTI0Nzc4LDAsMCwwLjgzOTE0NjM1LC00Ny44OTU0OTQsMzQuNDA4MDE3KSIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIiAvPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ2ODg4Ij4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A2ODkwIgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eTowLjkzMDUwMTk0OyIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIGlkPSJzdG9wNjg5MiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A2ODk0IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjA7IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxyYWRpYWxHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50Njg0Ni04IgogICAgICAgaWQ9InJhZGlhbEdyYWRpZW50Njg5NiIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEuMjEyNDc3OCwwLDAsMC44MzkxNDYzNSwtNDcuODk1NDk0LDM0LjQwODAxNykiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50Njg5OCI+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNjkwMCIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MC45MzA1MDE5NDsiCiAgICAgICAgIG9mZnNldD0iMC41IgogICAgICAgICBpZD0ic3RvcDY5MDIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNjkwNCIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eTowOyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDY4NDYtOCIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDY5MDYiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGZ4PSIxNTkuNjEzMTciCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgcj0iMzguNDE2OTA0IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzUsLTQ3Ljg5NTQ5NCwzNC40MDgwMTcpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDY5MDgiPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY5MTAiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmZmZmZmY7c3RvcC1vcGFjaXR5OjAuOTMwNTAxOTQ7IgogICAgICAgICBvZmZzZXQ9IjAuNSIKICAgICAgICAgaWQ9InN0b3A2OTEyIiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDY5MTQiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MDsiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGN5PSI3Mi41ODgzMDMiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzQsLTQ3LjQ2NjgyNSwzNS42OTQwNDgpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2NDgyLTgiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NzQ0LTktOS0xIgogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIiAvPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ0NzQ0LTktOS0xIj4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A0NzQ2LTMtOC02IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZmZmZmZmO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDQ3NDgtOC0zLTgiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGN5PSI3Mi41ODgzMDMiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzUsLTQ3LjQ2NjgyNiwzNS42OTQwNDYpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2OTIwIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDc0NC05LTktMSIKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIgLz4KICAgIDxyYWRpYWxHcmFkaWVudAogICAgICAgcj0iMzguNDE2OTA0IgogICAgICAgZnk9IjcyLjU4ODMwMyIKICAgICAgIGZ4PSIxNTkuNjEzMTciCiAgICAgICBjeT0iNzIuNTg4MzAzIgogICAgICAgY3g9IjE1OS42MTMxNyIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMS4yMTI0Nzc4LDAsMCwwLjgzOTE0NjM1LC00Ny40NjY4MjYsMzUuNjk0MDQ2KSIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9InJhZGlhbEdyYWRpZW50NjkyOCIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ3NDQtOS05LTEiCiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiIC8+CiAgICA8cmFkaWFsR3JhZGllbnQKICAgICAgIHI9IjM4LjQxNjkwNCIKICAgICAgIGZ5PSI3Mi41ODgzMDMiCiAgICAgICBmeD0iMTU5LjYxMzE3IgogICAgICAgY3k9IjcyLjU4ODMwMyIKICAgICAgIGN4PSIxNTkuNjEzMTciCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEuMjEyNDc3OCwwLDAsMC44MzkxNDYzNSwtNDcuNDY2ODI2LDM1LjY5NDA0NikiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDY5MzYiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NzQ0LTktOS0xIgogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIiAvPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICByPSIzOC40MTY5MDQiCiAgICAgICBmeT0iNzIuNTg4MzAzIgogICAgICAgZng9IjE1OS42MTMxNyIKICAgICAgIGN5PSI3Mi41ODgzMDMiCiAgICAgICBjeD0iMTU5LjYxMzE3IgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjIxMjQ3NzgsMCwwLDAuODM5MTQ2MzUsLTQ3LjQ2NjgyNiwzNS42OTQwNDYpIgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0icmFkaWFsR3JhZGllbnQ2OTQ0IgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDc0NC05LTktMSIKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTg2Mi0xLTU1LTIiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjllMjk1O3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU4NjQtMC0wLTkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3Ni0wLTEyLTYiCiAgICAgICAgIG9mZnNldD0iMC4xMjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmN2RkODQ7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzQtNi02LTQiCiAgICAgICAgIG9mZnNldD0iMC4yMDU4MDU4MiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3MC00LTQtNSIKICAgICAgICAgb2Zmc2V0PSIwLjMwMTEyNjIxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjRjZTUxO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y5ZTdhYTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMC4zNDEyMDM5IgogICAgICAgICBpZD0ic3RvcDU4NzItNC04NS01IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZWZiYjBlO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU4NjYtMy02Mi00IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDY4MC0wIj4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A0NjgyLTUiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDY4NC03NiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NjItOS00LTUiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMmQzMzM1O3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU3NjQtNi0xLTMiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTc3MC0zLTYtNzMiCiAgICAgICAgIG9mZnNldD0iMC41IgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojNGM0NjRhO3N0b3Atb3BhY2l0eToxOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzM4NDA0MjtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A1NzY2LTYtMy0yIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTg2Mi0zLTMiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZjllMjk1O3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU4NjQtOC0wIiAvPgogICAgICA8c3RvcAogICAgICAgICBpZD0ic3RvcDU4NzYtMDktOCIKICAgICAgICAgb2Zmc2V0PSIwLjEyNSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y3ZGQ4NDtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3NC0yLTYiCiAgICAgICAgIG9mZnNldD0iMC4yMDU4MDU4MiIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2ZmZmZmZjtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIGlkPSJzdG9wNTg3MC0zLTYiCiAgICAgICAgIG9mZnNldD0iMC4zMDExMjYyMSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2Y0Y2U1MTtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNmOWU3YWE7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAuMzQxMjAzOSIKICAgICAgICAgaWQ9InN0b3A1ODcyLTEtOSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2VmYmIwZTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A1ODY2LTgtNyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NjItOC05Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzJkMzMzNTtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1NzY0LTUtMyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1NzcwLTEtNyIKICAgICAgICAgb2Zmc2V0PSIwLjUiCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiM0YzQ2NGE7c3RvcC1vcGFjaXR5OjE7IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMzg0MDQyO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDU3NjYtMi0xIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50Njk4NyI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMyZDMzMzU7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNjk4OSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A2OTkxIgogICAgICAgICBvZmZzZXQ9IjAuNSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzRjNDY0YTtzdG9wLW9wYWNpdHk6MTsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMzODQwNDI7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNjk5MyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDU3NDUtMy01Ij4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A1NzQ3LTMtNyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1NzUzLTYtMCIKICAgICAgICAgb2Zmc2V0PSIwLjgzOTMyNzUxIgogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZDBlOWYyO3N0b3Atb3BhY2l0eTowOyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MC4yODE4NTMyOTsiCiAgICAgICAgIG9mZnNldD0iMC45NDMwODUwNyIKICAgICAgICAgaWQ9InN0b3A1NzU1LTktMiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A1NzQ5LTAtNiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTcyOTgiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDY4MC02IgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTE2OC02IgogICAgICAgeDE9IjIxMC4xNzE4OCIKICAgICAgIHkxPSI3Mi4wNjQxMjUiCiAgICAgICB4Mj0iOSIKICAgICAgIHkyPSItMjEzLjI1MzQ2IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ2ODAtNiI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDY4Mi0zIiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDQ2ODQtMiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTcyOTgtMyIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NjgwLTQiCiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1MTY4LTYwIgogICAgICAgeDE9IjIxMC4xNzE4OCIKICAgICAgIHkxPSI3Mi4wNjQxMjUiCiAgICAgICB4Mj0iOSIKICAgICAgIHkyPSItMjEzLjI1MzQ2IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ2ODAtNCI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDY4Mi0zNiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A0Njg0LTMiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU3Mjk4LTkiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDY4MC0yIgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTE2OC00IgogICAgICAgeDE9IjIxMC4xNzE4OCIKICAgICAgIHkxPSI3Mi4wNjQxMjUiCiAgICAgICB4Mj0iOSIKICAgICAgIHkyPSItMjEzLjI1MzQ2IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ2ODAtMiI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDY4Mi05IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDQ2ODQtMzgiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NjgwLTIiCiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ3Mzc2IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEsLTAuMDgwODc3NjcsMCwxLDAsMjAzLjA1NjMpIgogICAgICAgeDE9IjIxMC4xNzE4OCIKICAgICAgIHkxPSI3Mi4wNjQxMjUiCiAgICAgICB4Mj0iOSIKICAgICAgIHkyPSItMjEzLjI1MzQ2IiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU3NzE2IgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ2ODAtNy0zIj4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A0NjgyLTItMiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A0Njg0LTctMiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDc3MjUiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDc3MjciIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNzcyOSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDc3MzIiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDc3MzQiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNzczNiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDc3MzkiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDc3NDEiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNzc0MyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDc3NDYiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDc3NDgiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNzc1MCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDc3NTMiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDc3NTUiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNzc1NyIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDc3NjAiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDc3NjIiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNzc2NCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDc3NjciPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDc3NjkiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNzc3MSIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDQ2ODAtMjIiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eToxOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDQ2ODItMjciIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDY4NC0zNiIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoNTQyNi0xIj4KICAgICAgPHBhdGgKICAgICAgICAgc3R5bGU9ImZpbGw6I2NlZWVhYjtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICAgICAgZD0ibSA5LDEyLjI1IGMgMCwwIDcuNSwxMyAxMS43NSwyNy43NSBDIDI1LDU0Ljc1IDI3LDY1LjUgMjcsNjUuNSBjIDAsMCAtNS41LDEyLjc1IC04LjI1LDI0Ljc1IC0yLjc1LDEyIC01Ljc1LDIzIC01Ljc1LDIzIDAsMCA1Ljc1LDE2IDkuMjUsMzAgMy41LDE0IDMuNzUsMjQuMjUgMy43NSwyNC4yNSAwLDAgLTQsMTAuMjUgLTcuNSwyNC4yNSAtMy41LDE0IC01LDMwLjc1IC01LDMwLjc1IDAsMCA5LjI1LC0yIDI4LjUsMS4yNSAxOS4yNSwzLjI1IDMyLjI1LDYgMzIuMjUsNiAwLDAgMTIuNzUsLTIuNzUgMjQsLTYuMjUgMTEuMjUsLTMuNSAxNi4yNSwtNi41IDE2LjI1LC02LjUgMCwwIDUuNSwwLjUgMjIuNSw2LjI1IDE3LDUuNzUgMjkuMjUsOC41IDI5LjI1LDguNSAwLDAgMTMsLTIuNzUgMjYsLTUuNzUgMTMsLTMgMjYuNSwtOCAyNi41LC04IDAsMCAtMC43NSwtNSA0LjI1LC0yNC41IDUsLTE5LjUgOC43NSwtMjggOC43NSwtMjggMCwwIC0wLjUsLTQuNSAtMy43NSwtMTkuNzUgQyAyMjQuNzUsMTMwLjUgMjE4LDExNiAyMTgsMTE2IGMgMCwwIDEuNzUsLTEwLjUgNi43NSwtMjMuNzUgQyAyMjkuNzUsNzkgMjM1LDY1LjUgMjM1LDY1LjUgYyAwLDAgLTQuNzUsLTE1LjI1IC03LjUsLTI5Ljc1IEMgMjI0Ljc1LDIxLjI1IDIxOS4yNSwxMCAyMTkuMjUsMTAgYyAwLDAgLTI0LjI1LDkgLTMxLjc1LDEwLjUgLTcuNSwxLjUgLTIxLDUuMjUgLTIxLDUuMjUgMCwwIC05Ljc1LC00LjI1IC0yMiwtOC41IC0xMi4yNSwtNC4yNSAtMjkuNzUsLTUuNSAtMjkuNzUsLTUuNSAwLDAgLTMuMjUsMy41IC0yMiw4IC0xOC43NSw0LjUgLTI3LjUsNS43NSAtMjcuNSw1Ljc1IDAsMCAtMTguNSwtOSAtMzEuNSwtMTEuNSAtMTMsLTIuNSAtMjQsLTIgLTI0Ljc1LC0xLjc1IHoiCiAgICAgICAgIGlkPSJwYXRoNTQyOC0wIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGg1MzgzLTAiPgogICAgICA8cGF0aAogICAgICAgICBzdHlsZT0iZmlsbDojY2VlZWFiO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIgogICAgICAgICBkPSJtIDksMTIuMjUgYyAwLDAgNy41LDEzIDExLjc1LDI3Ljc1IEMgMjUsNTQuNzUgMjcsNjUuNSAyNyw2NS41IGMgMCwwIC01LjUsMTIuNzUgLTguMjUsMjQuNzUgLTIuNzUsMTIgLTUuNzUsMjMgLTUuNzUsMjMgMCwwIDUuNzUsMTYgOS4yNSwzMCAzLjUsMTQgMy43NSwyNC4yNSAzLjc1LDI0LjI1IDAsMCAtNCwxMC4yNSAtNy41LDI0LjI1IC0zLjUsMTQgLTUsMzAuNzUgLTUsMzAuNzUgMCwwIDkuMjUsLTIgMjguNSwxLjI1IDE5LjI1LDMuMjUgMzIuMjUsNiAzMi4yNSw2IDAsMCAxMi43NSwtMi43NSAyNCwtNi4yNSAxMS4yNSwtMy41IDE2LjI1LC02LjUgMTYuMjUsLTYuNSAwLDAgNS41LDAuNSAyMi41LDYuMjUgMTcsNS43NSAyOS4yNSw4LjUgMjkuMjUsOC41IDAsMCAxMywtMi43NSAyNiwtNS43NSAxMywtMyAyNi41LC04IDI2LjUsLTggMCwwIC0wLjc1LC01IDQuMjUsLTI0LjUgNSwtMTkuNSA4Ljc1LC0yOCA4Ljc1LC0yOCAwLDAgLTAuNSwtNC41IC0zLjc1LC0xOS43NSBDIDIyNC43NSwxMzAuNSAyMTgsMTE2IDIxOCwxMTYgYyAwLDAgMS43NSwtMTAuNSA2Ljc1LC0yMy43NSBDIDIyOS43NSw3OSAyMzUsNjUuNSAyMzUsNjUuNSBjIDAsMCAtNC43NSwtMTUuMjUgLTcuNSwtMjkuNzUgQyAyMjQuNzUsMjEuMjUgMjE5LjI1LDEwIDIxOS4yNSwxMCBjIDAsMCAtMjQuMjUsOSAtMzEuNzUsMTAuNSAtNy41LDEuNSAtMjEsNS4yNSAtMjEsNS4yNSAwLDAgLTkuNzUsLTQuMjUgLTIyLC04LjUgLTEyLjI1LC00LjI1IC0yOS43NSwtNS41IC0yOS43NSwtNS41IDAsMCAtMy4yNSwzLjUgLTIyLDggLTE4Ljc1LDQuNSAtMjcuNSw1Ljc1IC0yNy41LDUuNzUgMCwwIC0xOC41LC05IC0zMS41LC0xMS41IC0xMywtMi41IC0yNCwtMiAtMjQuNzUsLTEuNzUgeiIKICAgICAgICAgaWQ9InBhdGg1Mzg1LTciIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDU0NjYtMiI+CiAgICAgIDxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOiNjZWVlYWI7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICAgIGQ9Im0gOSwxMi4yNSBjIDAsMCA3LjUsMTMgMTEuNzUsMjcuNzUgQyAyNSw1NC43NSAyNyw2NS41IDI3LDY1LjUgYyAwLDAgLTUuNSwxMi43NSAtOC4yNSwyNC43NSAtMi43NSwxMiAtNS43NSwyMyAtNS43NSwyMyAwLDAgNS43NSwxNiA5LjI1LDMwIDMuNSwxNCAzLjc1LDI0LjI1IDMuNzUsMjQuMjUgMCwwIC00LDEwLjI1IC03LjUsMjQuMjUgLTMuNSwxNCAtNSwzMC43NSAtNSwzMC43NSAwLDAgOS4yNSwtMiAyOC41LDEuMjUgMTkuMjUsMy4yNSAzMi4yNSw2IDMyLjI1LDYgMCwwIDEyLjc1LC0yLjc1IDI0LC02LjI1IDExLjI1LC0zLjUgMTYuMjUsLTYuNSAxNi4yNSwtNi41IDAsMCA1LjUsMC41IDIyLjUsNi4yNSAxNyw1Ljc1IDI5LjI1LDguNSAyOS4yNSw4LjUgMCwwIDEzLC0yLjc1IDI2LC01Ljc1IDEzLC0zIDI2LjUsLTggMjYuNSwtOCAwLDAgLTAuNzUsLTUgNC4yNSwtMjQuNSA1LC0xOS41IDguNzUsLTI4IDguNzUsLTI4IDAsMCAtMC41LC00LjUgLTMuNzUsLTE5Ljc1IEMgMjI0Ljc1LDEzMC41IDIxOCwxMTYgMjE4LDExNiBjIDAsMCAxLjc1LC0xMC41IDYuNzUsLTIzLjc1IEMgMjI5Ljc1LDc5IDIzNSw2NS41IDIzNSw2NS41IGMgMCwwIC00Ljc1LC0xNS4yNSAtNy41LC0yOS43NSBDIDIyNC43NSwyMS4yNSAyMTkuMjUsMTAgMjE5LjI1LDEwIGMgMCwwIC0yNC4yNSw5IC0zMS43NSwxMC41IC03LjUsMS41IC0yMSw1LjI1IC0yMSw1LjI1IDAsMCAtOS43NSwtNC4yNSAtMjIsLTguNSAtMTIuMjUsLTQuMjUgLTI5Ljc1LC01LjUgLTI5Ljc1LC01LjUgMCwwIC0zLjI1LDMuNSAtMjIsOCAtMTguNzUsNC41IC0yNy41LDUuNzUgLTI3LjUsNS43NSAwLDAgLTE4LjUsLTkgLTMxLjUsLTExLjUgLTEzLC0yLjUgLTI0LC0yIC0yNC43NSwtMS43NSB6IgogICAgICAgICBpZD0icGF0aDU0NjgtMyIgLz4KICAgIDwvY2xpcFBhdGg+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTgxODMiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGg1NDY2LTItMyI+CiAgICAgIDxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOiNjZWVlYWI7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICAgIGQ9Im0gOSwxMi4yNSBjIDAsMCA3LjUsMTMgMTEuNzUsMjcuNzUgQyAyNSw1NC43NSAyNyw2NS41IDI3LDY1LjUgYyAwLDAgLTUuNSwxMi43NSAtOC4yNSwyNC43NSAtMi43NSwxMiAtNS43NSwyMyAtNS43NSwyMyAwLDAgNS43NSwxNiA5LjI1LDMwIDMuNSwxNCAzLjc1LDI0LjI1IDMuNzUsMjQuMjUgMCwwIC00LDEwLjI1IC03LjUsMjQuMjUgLTMuNSwxNCAtNSwzMC43NSAtNSwzMC43NSAwLDAgOS4yNSwtMiAyOC41LDEuMjUgMTkuMjUsMy4yNSAzMi4yNSw2IDMyLjI1LDYgMCwwIDEyLjc1LC0yLjc1IDI0LC02LjI1IDExLjI1LC0zLjUgMTYuMjUsLTYuNSAxNi4yNSwtNi41IDAsMCA1LjUsMC41IDIyLjUsNi4yNSAxNyw1Ljc1IDI5LjI1LDguNSAyOS4yNSw4LjUgMCwwIDEzLC0yLjc1IDI2LC01Ljc1IDEzLC0zIDI2LjUsLTggMjYuNSwtOCAwLDAgLTAuNzUsLTUgNC4yNSwtMjQuNSA1LC0xOS41IDguNzUsLTI4IDguNzUsLTI4IDAsMCAtMC41LC00LjUgLTMuNzUsLTE5Ljc1IEMgMjI0Ljc1LDEzMC41IDIxOCwxMTYgMjE4LDExNiBjIDAsMCAxLjc1LC0xMC41IDYuNzUsLTIzLjc1IEMgMjI5Ljc1LDc5IDIzNSw2NS41IDIzNSw2NS41IGMgMCwwIC00Ljc1LC0xNS4yNSAtNy41LC0yOS43NSBDIDIyNC43NSwyMS4yNSAyMTkuMjUsMTAgMjE5LjI1LDEwIGMgMCwwIC0yNC4yNSw5IC0zMS43NSwxMC41IC03LjUsMS41IC0yMSw1LjI1IC0yMSw1LjI1IDAsMCAtOS43NSwtNC4yNSAtMjIsLTguNSAtMTIuMjUsLTQuMjUgLTI5Ljc1LC01LjUgLTI5Ljc1LC01LjUgMCwwIC0zLjI1LDMuNSAtMjIsOCAtMTguNzUsNC41IC0yNy41LDUuNzUgLTI3LjUsNS43NSAwLDAgLTE4LjUsLTkgLTMxLjUsLTExLjUgLTEzLC0yLjUgLTI0LC0yIC0yNC43NSwtMS43NSB6IgogICAgICAgICBpZD0icGF0aDU0NjgtMy0yIiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGg1MzgzLTAtMCI+CiAgICAgIDxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOiNjZWVlYWI7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICAgIGQ9Im0gOSwxMi4yNSBjIDAsMCA3LjUsMTMgMTEuNzUsMjcuNzUgQyAyNSw1NC43NSAyNyw2NS41IDI3LDY1LjUgYyAwLDAgLTUuNSwxMi43NSAtOC4yNSwyNC43NSAtMi43NSwxMiAtNS43NSwyMyAtNS43NSwyMyAwLDAgNS43NSwxNiA5LjI1LDMwIDMuNSwxNCAzLjc1LDI0LjI1IDMuNzUsMjQuMjUgMCwwIC00LDEwLjI1IC03LjUsMjQuMjUgLTMuNSwxNCAtNSwzMC43NSAtNSwzMC43NSAwLDAgOS4yNSwtMiAyOC41LDEuMjUgMTkuMjUsMy4yNSAzMi4yNSw2IDMyLjI1LDYgMCwwIDEyLjc1LC0yLjc1IDI0LC02LjI1IDExLjI1LC0zLjUgMTYuMjUsLTYuNSAxNi4yNSwtNi41IDAsMCA1LjUsMC41IDIyLjUsNi4yNSAxNyw1Ljc1IDI5LjI1LDguNSAyOS4yNSw4LjUgMCwwIDEzLC0yLjc1IDI2LC01Ljc1IDEzLC0zIDI2LjUsLTggMjYuNSwtOCAwLDAgLTAuNzUsLTUgNC4yNSwtMjQuNSA1LC0xOS41IDguNzUsLTI4IDguNzUsLTI4IDAsMCAtMC41LC00LjUgLTMuNzUsLTE5Ljc1IEMgMjI0Ljc1LDEzMC41IDIxOCwxMTYgMjE4LDExNiBjIDAsMCAxLjc1LC0xMC41IDYuNzUsLTIzLjc1IEMgMjI5Ljc1LDc5IDIzNSw2NS41IDIzNSw2NS41IGMgMCwwIC00Ljc1LC0xNS4yNSAtNy41LC0yOS43NSBDIDIyNC43NSwyMS4yNSAyMTkuMjUsMTAgMjE5LjI1LDEwIGMgMCwwIC0yNC4yNSw5IC0zMS43NSwxMC41IC03LjUsMS41IC0yMSw1LjI1IC0yMSw1LjI1IDAsMCAtOS43NSwtNC4yNSAtMjIsLTguNSAtMTIuMjUsLTQuMjUgLTI5Ljc1LC01LjUgLTI5Ljc1LC01LjUgMCwwIC0zLjI1LDMuNSAtMjIsOCAtMTguNzUsNC41IC0yNy41LDUuNzUgLTI3LjUsNS43NSAwLDAgLTE4LjUsLTkgLTMxLjUsLTExLjUgLTEzLC0yLjUgLTI0LC0yIC0yNC43NSwtMS43NSB6IgogICAgICAgICBpZD0icGF0aDUzODUtNy04IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxjbGlwUGF0aAogICAgICAgY2xpcFBhdGhVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBpZD0iY2xpcFBhdGg1NDI2LTEtNiI+CiAgICAgIDxwYXRoCiAgICAgICAgIHN0eWxlPSJmaWxsOiNjZWVlYWI7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICAgIGQ9Im0gOSwxMi4yNSBjIDAsMCA3LjUsMTMgMTEuNzUsMjcuNzUgQyAyNSw1NC43NSAyNyw2NS41IDI3LDY1LjUgYyAwLDAgLTUuNSwxMi43NSAtOC4yNSwyNC43NSAtMi43NSwxMiAtNS43NSwyMyAtNS43NSwyMyAwLDAgNS43NSwxNiA5LjI1LDMwIDMuNSwxNCAzLjc1LDI0LjI1IDMuNzUsMjQuMjUgMCwwIC00LDEwLjI1IC03LjUsMjQuMjUgLTMuNSwxNCAtNSwzMC43NSAtNSwzMC43NSAwLDAgOS4yNSwtMiAyOC41LDEuMjUgMTkuMjUsMy4yNSAzMi4yNSw2IDMyLjI1LDYgMCwwIDEyLjc1LC0yLjc1IDI0LC02LjI1IDExLjI1LC0zLjUgMTYuMjUsLTYuNSAxNi4yNSwtNi41IDAsMCA1LjUsMC41IDIyLjUsNi4yNSAxNyw1Ljc1IDI5LjI1LDguNSAyOS4yNSw4LjUgMCwwIDEzLC0yLjc1IDI2LC01Ljc1IDEzLC0zIDI2LjUsLTggMjYuNSwtOCAwLDAgLTAuNzUsLTUgNC4yNSwtMjQuNSA1LC0xOS41IDguNzUsLTI4IDguNzUsLTI4IDAsMCAtMC41LC00LjUgLTMuNzUsLTE5Ljc1IEMgMjI0Ljc1LDEzMC41IDIxOCwxMTYgMjE4LDExNiBjIDAsMCAxLjc1LC0xMC41IDYuNzUsLTIzLjc1IEMgMjI5Ljc1LDc5IDIzNSw2NS41IDIzNSw2NS41IGMgMCwwIC00Ljc1LC0xNS4yNSAtNy41LC0yOS43NSBDIDIyNC43NSwyMS4yNSAyMTkuMjUsMTAgMjE5LjI1LDEwIGMgMCwwIC0yNC4yNSw5IC0zMS43NSwxMC41IC03LjUsMS41IC0yMSw1LjI1IC0yMSw1LjI1IDAsMCAtOS43NSwtNC4yNSAtMjIsLTguNSAtMTIuMjUsLTQuMjUgLTI5Ljc1LC01LjUgLTI5Ljc1LC01LjUgMCwwIC0zLjI1LDMuNSAtMjIsOCAtMTguNzUsNC41IC0yNy41LDUuNzUgLTI3LjUsNS43NSAwLDAgLTE4LjUsLTkgLTMxLjUsLTExLjUgLTEzLC0yLjUgLTI0LC0yIC0yNC43NSwtMS43NSB6IgogICAgICAgICBpZD0icGF0aDU0MjgtMC05IiAvPgogICAgPC9jbGlwUGF0aD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDY4MC0yMi0yIj4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MTsiCiAgICAgICAgIG9mZnNldD0iMCIKICAgICAgICAgaWQ9InN0b3A0NjgyLTI3LTMiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjA7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNDY4NC0zNi01IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDY4MC03LTMtNiI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDY4Mi0yLTItNyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A0Njg0LTctMi03IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODI1NSI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wODI1NyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A4MjU5IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODI2MiI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wODI2NCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A4MjY2IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODI2OSI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wODI3MSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A4MjczIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODI3NiI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wODI3OCIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A4MjgwIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODI4MyI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wODI4NSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A4Mjg3IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODI5MCI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wODI5MiIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A4Mjk0IiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODI5NyI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wODI5OSIgLz4KICAgICAgPHN0b3AKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6IzAwMDAwMDtzdG9wLW9wYWNpdHk6MDsiCiAgICAgICAgIG9mZnNldD0iMSIKICAgICAgICAgaWQ9InN0b3A4MzAxIiAvPgogICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlODU4MSIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ1NzQ1LTMtMSIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDYyNTYtNSIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09Im1hdHJpeCgxLjAwNTIxMzcsMS4wMDUyMTM3LDEuMDA1MjEzNywtMS4wMDUyMTM3LC00MC44Mzc5Niw1My4yNTMyOTYpIgogICAgICAgY3g9IjEyOCIKICAgICAgIGN5PSI4NiIKICAgICAgIGZ4PSIxMjgiCiAgICAgICBmeT0iODYiCiAgICAgICByPSI0NyIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NTc0NS0zLTEiPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojZDBlOWYyO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIwIgogICAgICAgICBpZD0ic3RvcDU3NDctMy03MyIgLz4KICAgICAgPHN0b3AKICAgICAgICAgaWQ9InN0b3A1NzUzLTYtMDgiCiAgICAgICAgIG9mZnNldD0iMC44MzkzMjc1MSIKICAgICAgICAgc3R5bGU9InN0b3AtY29sb3I6I2QwZTlmMjtzdG9wLW9wYWNpdHk6MDsiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNkMGU5ZjI7c3RvcC1vcGFjaXR5OjAuMjgxODUzMjk7IgogICAgICAgICBvZmZzZXQ9IjAuOTQzMDg1MDciCiAgICAgICAgIGlkPSJzdG9wNTc1NS05LTUiIC8+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiNkMGU5ZjI7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjEiCiAgICAgICAgIGlkPSJzdG9wNTc0OS0wLTQiIC8+CiAgICA8L2xpbmVhckdyYWRpZW50PgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDg2MTciPgogICAgICA8cGF0aAogICAgICAgICBzdHlsZT0iZmlsbDp1cmwoI3JhZGlhbEdyYWRpZW50ODYyMSk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICAgIGQ9Im0gMTIzLjYyMjg5LDE0MS4wNjE5MyBjIDIwLjgzMTkxLDIwLjI0MzE3IDU0LjYwNzEsMTkuMjg4NjMgNzUuNDM5LC0yLjEzMiAyMC44MzE5LC0yMS40MjA2NCAyMC44MzE5LC01NS4xOTU4MTYgMCwtNzUuNDM4OTg0IC0yMC44MzE5MSwtMjAuMjQzMTY3IC01NC42MDcwOSwtMTkuMjg4NjQzIC03NS40MzksMi4xMzE5OTkgLTIwLjgzMTg5LDIxLjQyMDYzIC0yMC44MzE5LDU1LjE5NTgxNSAwLDc1LjQzODk4NSB6IgogICAgICAgICBpZD0icGF0aDg2MTkiCiAgICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY3Nzc2MiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPHJhZGlhbEdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ1NzQ1LTMtMSIKICAgICAgIGlkPSJyYWRpYWxHcmFkaWVudDg2MjEiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoMC44MDI1NDIzOCwwLjc3OTg2MTU0LDAuODAyNTQyMzgsLTAuODI1MjIzMjEsLTEwLjQwMTY4NCw3My40MjMzNjMpIgogICAgICAgY3g9IjEyOCIKICAgICAgIGN5PSI4NiIKICAgICAgIGZ4PSIxMjgiCiAgICAgICBmeT0iODYiCiAgICAgICByPSI0NyIgLz4KICAgIDxpbmtzY2FwZTpwZXJzcGVjdGl2ZQogICAgICAgaWQ9InBlcnNwZWN0aXZlODYzMSIKICAgICAgIGlua3NjYXBlOnBlcnNwM2Qtb3JpZ2luPSIwLjUgOiAwLjMzMzMzMzMzIDogMSIKICAgICAgIGlua3NjYXBlOnZwX3o9IjEgOiAwLjUgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfeT0iMCA6IDEwMDAgOiAwIgogICAgICAgaW5rc2NhcGU6dnBfeD0iMCA6IDAuNSA6IDEiCiAgICAgICBzb2RpcG9kaTp0eXBlPSJpbmtzY2FwZTpwZXJzcDNkIiAvPgogICAgPGlua3NjYXBlOnBlcnNwZWN0aXZlCiAgICAgICBpZD0icGVyc3BlY3RpdmU4NjczIgogICAgICAgaW5rc2NhcGU6cGVyc3AzZC1vcmlnaW49IjAuNSA6IDAuMzMzMzMzMzMgOiAxIgogICAgICAgaW5rc2NhcGU6dnBfej0iMSA6IDAuNSA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF95PSIwIDogMTAwMCA6IDAiCiAgICAgICBpbmtzY2FwZTp2cF94PSIwIDogMC41IDogMSIKICAgICAgIHNvZGlwb2RpOnR5cGU9Imlua3NjYXBlOnBlcnNwM2QiIC8+CiAgICA8bGluZWFyR3JhZGllbnQKICAgICAgIGlua3NjYXBlOmNvbGxlY3Q9ImFsd2F5cyIKICAgICAgIHhsaW5rOmhyZWY9IiNsaW5lYXJHcmFkaWVudDQ2ODAtNjIiCiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ1MTY4LTgiCiAgICAgICB4MT0iMjEwLjE3MTg4IgogICAgICAgeTE9IjcyLjA2NDEyNSIKICAgICAgIHgyPSI5IgogICAgICAgeTI9Ii0yMTMuMjUzNDYiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50NDY4MC02MiI+CiAgICAgIDxzdG9wCiAgICAgICAgIHN0eWxlPSJzdG9wLWNvbG9yOiMwMDAwMDA7c3RvcC1vcGFjaXR5OjE7IgogICAgICAgICBvZmZzZXQ9IjAiCiAgICAgICAgIGlkPSJzdG9wNDY4Mi03IiAvPgogICAgICA8c3RvcAogICAgICAgICBzdHlsZT0ic3RvcC1jb2xvcjojMDAwMDAwO3N0b3Atb3BhY2l0eTowOyIKICAgICAgICAgb2Zmc2V0PSIxIgogICAgICAgICBpZD0ic3RvcDQ2ODQtMCIgLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8aW5rc2NhcGU6cGVyc3BlY3RpdmUKICAgICAgIGlkPSJwZXJzcGVjdGl2ZTg3MTEiCiAgICAgICBpbmtzY2FwZTpwZXJzcDNkLW9yaWdpbj0iMC41IDogMC4zMzMzMzMzMyA6IDEiCiAgICAgICBpbmtzY2FwZTp2cF96PSIxIDogMC41IDogMSIKICAgICAgIGlua3NjYXBlOnZwX3k9IjAgOiAxMDAwIDogMCIKICAgICAgIGlua3NjYXBlOnZwX3g9IjAgOiAwLjUgOiAxIgogICAgICAgc29kaXBvZGk6dHlwZT0iaW5rc2NhcGU6cGVyc3AzZCIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NDY4MC0yIgogICAgICAgaWQ9ImxpbmVhckdyYWRpZW50ODc0MiIKICAgICAgIGdyYWRpZW50VW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgZ3JhZGllbnRUcmFuc2Zvcm09InRyYW5zbGF0ZSgwLDE4MS45OTk5OSkiCiAgICAgICB4MT0iMjEwLjE3MTg4IgogICAgICAgeTE9IjcyLjA2NDEyNSIKICAgICAgIHgyPSI5IgogICAgICAgeTI9Ii0yMTMuMjUzNDYiIC8+CiAgICA8Y2xpcFBhdGgKICAgICAgIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIgogICAgICAgaWQ9ImNsaXBQYXRoODc1MCI+CiAgICAgIDxwYXRoCiAgICAgICAgIGlkPSJwYXRoODc1MiIKICAgICAgICAgZD0ibSA5LDIyLjU3ODQwNiBjIDAsMCA3LjUsMTIuMzkzNDE3IDExLjc1LDI2Ljc5OTY4NyBDIDI1LDYzLjc4NDM2MyAyNyw3NC4zNzI2MDggMjcsNzQuMzcyNjA4IGMgMCwwIC01LjUsMTMuMTk0ODI3IC04LjI1LDI1LjQxNzI0MSBDIDE2LDExMi4wMTIyNiAxMywxMjMuMjU0OSAxMywxMjMuMjU0OSBjIDAsMCA1Ljc1LDE1LjUzNDk1IDkuMjUsMjkuMjUxODggMy41LDEzLjcxNjkyIDMuNzUsMjMuOTQ2NzEgMy43NSwyMy45NDY3MSAwLDAgLTQsMTAuNTczNTEgLTcuNSwyNC44NTY1OCAtMy41LDE0LjI4MzA3IC01LDMxLjE1NDM5IC01LDMxLjE1NDM5IDAsMCA5LjI1LC0yLjc0ODEyIDI4LjUsLTEuMDU1MDIgMTkuMjUsMS42OTMxMSAzMi4yNSwzLjM5MTcgMzIuMjUsMy4zOTE3IDAsMCAxMi43NSwtMy43ODExOSAyNCwtOC4xOTEwNyAxMS4yNSwtNC40MDk4NyAxNi4yNSwtNy44MTQyNiAxNi4yNSwtNy44MTQyNiAwLDAgNS41LDAuMDU1MiAyMi41LDQuNDMwMjUgMTcsNC4zNzUwOCAyOS4yNSw2LjEzNDMzIDI5LjI1LDYuMTM0MzMgMCwwIDEzLC0zLjgwMTQxIDI2LC03Ljg1MjgyIDEzLC00LjA1MTQxIDI2LjUsLTEwLjE0MzI2IDI2LjUsLTEwLjE0MzI2IDAsMCAtMC43NSwtNC45MzkzNCA0LjI1LC0yNC44NDM3MyA1LC0xOS45MDQzOCA4Ljc1LC0yOC43MDc2OCA4Ljc1LC0yOC43MDc2OCAwLDAgLTAuNTE0NSwtNC40NTUzIC0zLjc1LC0xOS40NDY3IC0xLjc1LC04LjEwODQ3IC0yLjI1LC00LjA2ODAzIC0yLjI1LC00LjA2ODAzIDAsMCAxNi4yNjQsLTI2LjE1NTM1IDE2LjUsLTQwLjMzNDQ4MSBDIDI0Mi41LDc4Ljk0MzQ3IDIzNSw1Ny41NTAwNTMgMjM1LDU3LjU1MDA1MyBjIDAsMCAtNC43NSwtMTQuODY1ODMyIC03LjUsLTI5LjE0MzQxOCAtMi43NSwtMTQuMjc3NTg2IC04LjI1LC0yNS4wODI3NTkxIC04LjI1LC0yNS4wODI3NTkxIDAsMCAtMjQuMjUsMTAuOTYxMjgzMSAtMzEuNzUsMTMuMDY3ODY2MSAtNy41LDIuMTA2NTgyIC0yMSw2Ljk0ODQzMSAtMjEsNi45NDg0MzEgMCwwIC05Ljc1LC0zLjQ2MTQ0MyAtMjIsLTYuNzIwNjkxIC0xMi4yNSwtMy4yNTkyNDkgLTI5Ljc1LC0zLjA5Mzg5IC0yOS43NSwtMy4wOTM4OSAwLDAgLTMuMjUsMy43NjI4NTMgLTIyLDkuNzc5MzA5IC0xOC43NSw2LjAxNjQ1NiAtMjcuNSw3Ljk3NDEzNiAtMjcuNSw3Ljk3NDEzNiAwLDAgLTE4LjUsLTcuNTAzNzYzIC0zMS41LC04Ljk1MjM1MyAtMTMsLTEuNDQ4NTkxIC0yNCwtMC4wNTg5NCAtMjQuNzUsMC4yNTE3MjIgeiIKICAgICAgICAgc3R5bGU9Im9wYWNpdHk6MC4wMzkxMzA0MjtmaWxsOnVybCgjbGluZWFyR3JhZGllbnQ4NzU0KTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICAgICAgc29kaXBvZGk6bm9kZXR5cGVzPSJjc2NzY3Njc2NzY3Njc2NzY3Njc2NzY3Njc2NzY3Njc2MiIC8+CiAgICA8L2NsaXBQYXRoPgogICAgPGxpbmVhckdyYWRpZW50CiAgICAgICBpbmtzY2FwZTpjb2xsZWN0PSJhbHdheXMiCiAgICAgICB4bGluazpocmVmPSIjbGluZWFyR3JhZGllbnQ0NjgwLTIiCiAgICAgICBpZD0ibGluZWFyR3JhZGllbnQ4NzU0IgogICAgICAgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiCiAgICAgICBncmFkaWVudFRyYW5zZm9ybT0ibWF0cml4KDEsLTAuMDgwODc3NjcsMCwxLDAsMjAzLjA1NjI5KSIKICAgICAgIHgxPSIyMTAuMTcxODgiCiAgICAgICB5MT0iNzIuMDY0MTI1IgogICAgICAgeDI9IjkiCiAgICAgICB5Mj0iLTIxMy4yNTM0NiIgLz4KICAgIDxsaW5lYXJHcmFkaWVudAogICAgICAgaW5rc2NhcGU6Y29sbGVjdD0iYWx3YXlzIgogICAgICAgeGxpbms6aHJlZj0iI2xpbmVhckdyYWRpZW50NTc2MiIKICAgICAgIGlkPSJsaW5lYXJHcmFkaWVudDYyNDQiCiAgICAgICBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGdyYWRpZW50VHJhbnNmb3JtPSJtYXRyaXgoLTEuOTY4NTQzNiwtMS45Njg1NDM2LC0xLjc0MjA3NCwxLjc0MjA3NCw2MDUuNDg0MTcsMTYyLjM4MzE3KSIKICAgICAgIHgxPSIxMjMiCiAgICAgICB5MT0iMTUwLjM3NSIKICAgICAgIHgyPSIxMzMiCiAgICAgICB5Mj0iMTUwLjM3NSIgLz4KICA8L2RlZnM+CiAgPHNvZGlwb2RpOm5hbWVkdmlldwogICAgIGlkPSJiYXNlIgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAuMCIKICAgICBpbmtzY2FwZTpwYWdlc2hhZG93PSIyIgogICAgIGlua3NjYXBlOnpvb209IjEuODA2NjU1NiIKICAgICBpbmtzY2FwZTpjeD0iMTYuODgyMDIyIgogICAgIGlua3NjYXBlOmN5PSIxNjQuMzkyMTUiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ibGF5ZXI0IgogICAgIHNob3dncmlkPSJ0cnVlIgogICAgIGlua3NjYXBlOmRvY3VtZW50LXVuaXRzPSJweCIKICAgICBpbmtzY2FwZTpncmlkLWJib3g9InRydWUiCiAgICAgaW5rc2NhcGU6d2luZG93LXdpZHRoPSIxOTIwIgogICAgIGlua3NjYXBlOndpbmRvdy1oZWlnaHQ9IjEwNDMiCiAgICAgaW5rc2NhcGU6d2luZG93LXg9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgICAgaW5rc2NhcGU6d2luZG93LW1heGltaXplZD0iMSIKICAgICBpbmtzY2FwZTpwYWdlY2hlY2tlcmJvYXJkPSIwIiAvPgogIDxtZXRhZGF0YQogICAgIGlkPSJtZXRhZGF0YTMwNDMiPgogICAgPHJkZjpSREY+CiAgICAgIDxjYzpXb3JrCiAgICAgICAgIHJkZjphYm91dD0iIj4KICAgICAgICA8ZGM6Zm9ybWF0PmltYWdlL3N2Zyt4bWw8L2RjOmZvcm1hdD4KICAgICAgICA8ZGM6dHlwZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL3B1cmwub3JnL2RjL2RjbWl0eXBlL1N0aWxsSW1hZ2UiIC8+CiAgICAgICAgPGRjOnRpdGxlPk9wZW5TdHJlZXRNYXAgbG9nbyAyMDExPC9kYzp0aXRsZT4KICAgICAgICA8ZGM6Y3JlYXRvcj4KICAgICAgICAgIDxjYzpBZ2VudD4KICAgICAgICAgICAgPGRjOnRpdGxlPktlbiBWZXJtZXR0ZTwvZGM6dGl0bGU+CiAgICAgICAgICA8L2NjOkFnZW50PgogICAgICAgIDwvZGM6Y3JlYXRvcj4KICAgICAgICA8Y2M6bGljZW5zZQogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL2FydGxpYnJlLm9yZy9saWNlbmNlL2xhbCIgLz4KICAgICAgICA8ZGM6ZGF0ZT5BcHJpbCAyMDExPC9kYzpkYXRlPgogICAgICAgIDxkYzpwdWJsaXNoZXI+CiAgICAgICAgICA8Y2M6QWdlbnQ+CiAgICAgICAgICAgIDxkYzp0aXRsZT5PcGVuU3RyZWV0TWFwLm9yZzwvZGM6dGl0bGU+CiAgICAgICAgICA8L2NjOkFnZW50PgogICAgICAgIDwvZGM6cHVibGlzaGVyPgogICAgICAgIDxkYzpkZXNjcmlwdGlvbj5SZXBsYWNlbWVudCBsb2dvIGZvciBPcGVuU3RyZWV0TWFwIEZvdW5kYXRpb248L2RjOmRlc2NyaXB0aW9uPgogICAgICAgIDxkYzpzdWJqZWN0PgogICAgICAgICAgPHJkZjpCYWc+CiAgICAgICAgICAgIDxyZGY6bGk+T1NNIG9wZW5zdHJlZXRtYXAgbG9nbzwvcmRmOmxpPgogICAgICAgICAgPC9yZGY6QmFnPgogICAgICAgIDwvZGM6c3ViamVjdD4KICAgICAgICA8ZGM6c291cmNlPmh0dHA6Ly93aWtpLm9wZW5zdHJlZXRtYXAub3JnL3dpa2kvRmlsZTpQdWJsaWMtaW1hZ2VzLW9zbV9sb2dvLnN2ZzwvZGM6c291cmNlPgogICAgICA8L2NjOldvcms+CiAgICAgIDxjYzpMaWNlbnNlCiAgICAgICAgIHJkZjphYm91dD0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvMy4wLyI+CiAgICAgICAgPGNjOnBlcm1pdHMKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zI1JlcHJvZHVjdGlvbiIgLz4KICAgICAgICA8Y2M6cGVybWl0cwogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjRGlzdHJpYnV0aW9uIiAvPgogICAgICAgIDxjYzpyZXF1aXJlcwogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjTm90aWNlIiAvPgogICAgICAgIDxjYzpyZXF1aXJlcwogICAgICAgICAgIHJkZjpyZXNvdXJjZT0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjQXR0cmlidXRpb24iIC8+CiAgICAgICAgPGNjOnBlcm1pdHMKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zI0Rlcml2YXRpdmVXb3JrcyIgLz4KICAgICAgICA8Y2M6cmVxdWlyZXMKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zI1NoYXJlQWxpa2UiIC8+CiAgICAgIDwvY2M6TGljZW5zZT4KICAgIDwvcmRmOlJERj4KICA8L21ldGFkYXRhPgogIDxnCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXI0IgogICAgIGlua3NjYXBlOmxhYmVsPSJtYXBfZGV0YWlscyIKICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmUiPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOiNjZWVlYWI7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICBkPSJtIDksMi4yNSBjIDAsMCA3LjUsMTMgMTEuNzUsMjcuNzUgQyAyNSw0NC43NSAyNyw1NS41IDI3LDU1LjUgYyAwLDAgLTUuNSwxMi43NSAtOC4yNSwyNC43NSAtMi43NSwxMiAtNS43NSwyMyAtNS43NSwyMyAwLDAgNS43NSwxNiA5LjI1LDMwIDMuNSwxNCAzLjc1LDI0LjI1IDMuNzUsMjQuMjUgMCwwIC00LDEwLjI1IC03LjUsMjQuMjUgLTMuNSwxNCAtNSwzMC43NSAtNSwzMC43NSAwLDAgOS4yNSwtMiAyOC41LDEuMjUgMTkuMjUsMy4yNSAzMi4yNSw2IDMyLjI1LDYgMCwwIDEyLjc1LC0yLjc1IDI0LC02LjI1IDExLjI1LC0zLjUgMTYuMjUsLTYuNSAxNi4yNSwtNi41IDAsMCA1LjUsMC41IDIyLjUsNi4yNSAxNyw1Ljc1IDI5LjI1LDguNSAyOS4yNSw4LjUgMCwwIDEzLC0yLjc1IDI2LC01Ljc1IDEzLC0zIDI2LjUsLTggMjYuNSwtOCAwLDAgLTAuNzUsLTUgNC4yNSwtMjQuNSA1LC0xOS41IDguNzUsLTI4IDguNzUsLTI4IDAsMCAtMC41LC00LjUgLTMuNzUsLTE5Ljc1IEMgMjI0Ljc1LDEyMC41IDIxOCwxMDYgMjE4LDEwNiBjIDAsMCAxLjc1LC0xMC41IDYuNzUsLTIzLjc1IEMgMjI5Ljc1LDY5IDIzNSw1NS41IDIzNSw1NS41IGMgMCwwIC00Ljc1LC0xNS4yNSAtNy41LC0yOS43NSBDIDIyNC43NSwxMS4yNSAyMTkuMjUsMCAyMTkuMjUsMCBjIDAsMCAtMjQuMjUsOSAtMzEuNzUsMTAuNSAtNy41LDEuNSAtMjEsNS4yNSAtMjEsNS4yNSAwLDAgLTkuNzUsLTQuMjUgLTIyLC04LjUgLTEyLjI1LC00LjI1IC0yOS43NSwtNS41IC0yOS43NSwtNS41IDAsMCAtMy4yNSwzLjUgLTIyLDggLTE4Ljc1LDQuNSAtMjcuNSw1Ljc1IC0yNy41LDUuNzUgMCwwIC0xOC41LC05IC0zMS41LC0xMS41IEMgMjAuNzUsMS41IDkuNzUsMiA5LDIuMjUgWiIKICAgICAgIGlkPSJwYXRoMzgzNC05IiAvPgogICAgPHBhdGgKICAgICAgIHN0eWxlPSJmaWxsOiNhYWMzZTc7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICBkPSJNIDE1OC41MzEyNSw3NS4zNDM3NSBDIDE1My43NzE0Miw3NS4zMjk0MDcgMTQ5LjUsNzYuMzEyNSAxNDcsNzguNSBjIC04LDcgLTM1LDAuNzUgLTQ4LjUsNyAtMTMuNSw2LjI1IC0xMy4yNSwzOCAtMTQuNzUsNDQuNSAtMS41LDYuNSAtMTcuNSwyMC43NSAtMjAsMjMuNSAtMi41LDIuNzUgLTEzLjI1LDcuMjUgLTE5LjUsOC41IC02LjI1LDEuMjUgLTEyLjc1LDcuMjUgLTE1LjUsMTEgLTIuMDIxMTI0LDIuNzU2MDggLTcuNDA2MDE5LDYuNDUwMzEgLTEwLjEyNSw4LjIxODc1IC0wLjA0NTgsMC4xODEyOCAtMC4wNzkzNiwwLjM0ODY4IC0wLjEyNSwwLjUzMTI1IC0wLjEzMzY4OSwwLjUzNDc1IC0wLjI0NzEyLDEuMDgzMzEgLTAuMzc1LDEuNjI1IDQuOTc5NTEzLC0xLjYwNDgyIDExLjE3OTUwOCwtOC4xNzk1MSAxNi42MjUsLTEzLjYyNSA2LjI1LC02LjI1IDIwLC03Ljc1IDI3Ljc1LC0xMS41IDcuNzUsLTMuNzUgMTQuMjUsLTE5Ljc1IDI2LjUsLTIzLjc1IDEyLjI1LC00IDIxLjI1LDExLjc1IDI0LjI1LDE4LjUgMyw2Ljc1IDEuNzUsMTIuNzUgMy43NSwxNyAyLDQuMjUgMTEsMTEuNzUgMTEuNSwxMy41IDAuNSwxLjc1IC01LDYuNSAtNi4yNSw4LjUgLTEuMjUsMiAtMTAuNSw3IC0xMS43NSw4Ljc1IC0wLjk2NTY4LDEuMzUxOTUgLTEuOTIzMTYsNi43NzMxNCAtMi4zMTI1LDkuMjE4NzUgMC40MTMwMywtMC4xNjkyIDAuNzU0MTgsLTAuMzEwNTMgMS4xMjUsLTAuNDY4NzUgMC40ODQsLTIuNTI5MzMgMS41MTU0OSwtNy4wNzc5OSAyLjkzNzUsLTguNSAyLC0yIDExLjI1LC00LjUgMTIuNSwtOC41IDEuMjUsLTQgNywtNi41IDcsLTYuNSAwLDAgMi43NSw0IDE2LDE0IDguODMzMzMsNi42NjY2NyAxMi43NTgxLDE1LjUzMzU2IDE0LjQwNjI1LDIwLjcxODc1IDAuNjczNiwwLjE3MDY1IDEuNTMyOTUsMC40MDk0IDIuMDMxMjUsMC41MzEyNSAtMS4yMjExNSwtNC4zMTg3MSAtNC44MzY0NiwtMTYuMjM4ODUgLTguOTM3NSwtMjAuNzUgLTUsLTUuNSAtMTguNSwtMTAuNzUgLTIyLjc1LC0yMiAtNC4yNSwtMTEuMjUgLTI0LjUsLTM0LjI1IC0xNy41LC00MC4yNSA3LC02IDE2LjUsLTQgMjguNSw3LjUgMTIsMTEuNSA0Ni4yNSw1Ljc1IDU3Ljc1LDMuNzUgOS45NTQ1MywtMS43MzEyMiAyMC44MzQ0NSwxNC44ODMyMSAyMy45MDYyNSwyNi4wMzEyNSAwLjU4OSwtMi4wOTU2NyAxLjEyNjYzLC00LjAwMjE5IDEuNjU2MjUsLTUuNzUgLTEuNzM4MDYsLTEuOTI1OCAtMy42OTcyMiwtNC42MTk5NiAtNS4zMTI1LC04LjI4MTI1IC0zLjc1LC04LjUgLTEyLC0xMy4yNSAtMTIsLTEzLjI1IDAsMCA4Ljc1LC01IDE0Ljc1LC03Ljc1IDEuNjE3MDMsLTAuNzQxMTQgMy4wMDYyNywtMS42NzcxMyA0LjE4NzUsLTIuNjU2MjUgLTAuMTYyMzQsLTAuNzc0MDMgLTAuMjU4OTMsLTEuMjU1ODUgLTAuNDM3NSwtMi4wOTM3NSAtMC4wMzExLC0wLjE0NjExIC0wLjA2MiwtMC4yOTE1NCAtMC4wOTM3LC0wLjQzNzUgLTQuNzY1NjUsNS41NjI0IC0xOS4yMzIyNiw5LjYxNTMyIC0yMS42NTYyNSwxMC45Mzc1IC0yLjc1LDEuNSAtMTguMjUsMyAtMzUuNzUsNC41IC0xNy41LDEuNSAtMjYuNzUsLTcuNSAtMzQuMjUsLTE0Ljc1IC03LjUsLTcuMjUgLTEzLC0zNiAtMywtMzggMTAsLTIgMjAsMTMuNzUgMzAsMTcgMTAsMy4yNSAyMS41LC0xNS43NSAxOS43NSwtMjcgQyAxODEuNzk2OTMsODAuMjY1NjI1IDE2OS4wMDI5Miw3NS4zNzUzMDUgMTU4LjUzMTMsNzUuMzQzNzUgWiBNIDEwNS4xODc1LDg4LjYyNSBjIDEuMjc1MzMsMC4wMDE1IDUuODU5MzgsMS41OTM3NSA2LjU2MjUsMi4zNzUgMi4yNSwyLjUgMiw3LjI1IDAsOCAtMiwwLjc1IC0xMi43NSw4IC0xMC41LDE0LjI1IDIuMjUsNi4yNSAxLjc1LDE4IC0zLjUsMTggLTUuMjUsMCAtOCwwIC0xMCwtMi41IC0yLC0yLjUgLTIsLTEyIDAsLTE5Ljc1IDIsLTcuNzUgMy41LC0xNSA4LC0xOC4yNSAzLjA5Mzc1LC0yLjIzNDM4IDYuNjMxNzcsLTIuMTI4MzU3IDkuNDM3NSwtMi4xMjUgeiBtIDEzLjU5Mzc1LDczLjA5Mzc1IGMgMC4yMDMyNSwwLjAxMzcgMS45MDYyNSwzLjUxNTYzIDQuNzE4NzUsNy4wMzEyNSAzLDMuNzUgMy4yNSw4LjI1IDMuMjUsOC4yNSAwLDAgLTQuMjUsLTQuNzUgLTYsLTggLTEuNzUsLTMuMjUgLTIsLTcuMjUgLTIsLTcuMjUgMCwtMC4wMzEyIDAuMDE3OCwtMC4wMzIzIDAuMDMxMiwtMC4wMzEyIHoiCiAgICAgICBpZD0icGF0aDUyODAiIC8+CiAgICA8ZwogICAgICAgaWQ9Imc1NDAwIgogICAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoNTQyNikiCiAgICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLC0xMCkiPgogICAgICA8cGF0aAogICAgICAgICBpZD0icGF0aDUzODciCiAgICAgICAgIGQ9Im0gNTcuNzUsMjAgLTguNSwyOC4yNSAxOCw2LjI1IEwgNzUsOTAuNzUgNTQsMTEzIGwgOSwxMC41IC0xMiwxMS41IDAuNSw0LjUgMjAuMjUsMjQuNSAxNCwtNi43NSAyMC41LDE4LjUgLTEwLjUsMjguMjUgMTAuMjUsOC41IC0yLjc1LDEzIgogICAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTojZDM4NDg0O3N0cm9rZS13aWR0aDoyO3N0cm9rZS1saW5lY2FwOnJvdW5kO3N0cm9rZS1saW5lam9pbjptaXRlcjtzdHJva2UtbWl0ZXJsaW1pdDo0O3N0cm9rZS1kYXNoYXJyYXk6bm9uZTtzdHJva2Utb3BhY2l0eToxIiAvPgogICAgICA8cGF0aAogICAgICAgICBpZD0icGF0aDUzODkiCiAgICAgICAgIGQ9Im0gMTA1Ljc1LDIxMi4yNSAxMi41LC0yNy43NSAxMSwtNyAyNy41LDE1Ljc1IDIwLjUsLTMuNzUgLTAuMjUsLTE1Ljc1IC0xMC4yNSwtNiAxMi43NSwtMjYuMjUgNS43NSwtMy43NSAzOC43NSwtMTAiCiAgICAgICAgIHN0eWxlPSJmaWxsOm5vbmU7c3Ryb2tlOiNkMzg0ODQ7c3Ryb2tlLXdpZHRoOjI7c3Ryb2tlLWxpbmVjYXA6cm91bmQ7c3Ryb2tlLWxpbmVqb2luOm1pdGVyO3N0cm9rZS1taXRlcmxpbWl0OjQ7c3Ryb2tlLWRhc2hhcnJheTpub25lO3N0cm9rZS1vcGFjaXR5OjEiIC8+CiAgICA8L2c+CiAgPC9nPgogIDxnCiAgICAgaW5rc2NhcGU6Z3JvdXBtb2RlPSJsYXllciIKICAgICBpZD0ibGF5ZXI1IgogICAgIGlua3NjYXBlOmxhYmVsPSJNYWduaWZ5aW5nIEdhbHNzIgogICAgIHN0eWxlPSJkaXNwbGF5OmlubGluZSI+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6IzJkMzMzNTtmaWxsLW9wYWNpdHk6MTtzdHJva2U6bm9uZSIKICAgICAgIGQ9Im0gMTI1LjA2NDE5LDEzNC42ODU4NiBjIC0yNS42MzUxNzYsLTI0LjM0MzgyIC0yNy4xMjY1MDksLTY4Ljc3MTYwNyAtMy4zOTQsLTk0LjkzOTQ2NCAyMS40NzU3OCwtMjUuMzYwOTI4IDYxLjgzMDE1LC0zMS41NjQxMjk5IDg5LjcyNTI1LC0xMy4yODczMjkgMjcuNTE2MjgsMTYuOTYxNzU1IDQwLjE1ODM0LDU0LjE5MzA3NiAyNy44NzE2Miw4NC4yNTMzOTMgLTExLjY1NDE5LDMwLjg3MTI0IC00Ny4xMjUxNSw1MC41OTA2MSAtNzkuNDU5MzksNDIuODUzNTEgLTEzLjA3MTUyLC0yLjc4MDAxIC0yNS4zMzIzMiwtOS4zNzY4NyAtMzQuNzQzNDgsLTE4Ljg4MDExIHogbSAyLjk1MjgyLC0yLjk1MjgyIGMgMjIuNDQ4MjcsMjMuODU3OSA2My40MzQzNywyNy4wMzE4NyA4OC41NzYyOSw1LjU3MTk4IDIzLjM3MjE3LC0xOC41MDE0MiAzMC45ODQ3NSwtNTMuNzM3ODI4IDE3LjAyMjg0LC04MC4xNTU3NjIgLTE0LjI3Njk0LC0yOS40MjQ5MTEgLTUxLjQ3NDUsLTQ2LjA2NjM1NyAtODIuNTQ1MTcsLTM0LjMyNTUzMSAtMjkuOTUwNDIsMTAuMzg4Njc5IC00OS40ODgzOSw0NC42NzQ3MTYgLTQxLjUxNDA5LDc1LjY3ODIzNCAyLjgzNDQ5LDEyLjUyOTU4OSA5LjM0NTQ5LDI0LjE4NjY1OSAxOC40NjAxMywzMy4yMzEwNzkgeiIKICAgICAgIGlkPSJwYXRoNTYwNC0yNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY3Nzc2Njc3NzYyIgLz4KICAgIDxwYXRoCiAgICAgICBzdHlsZT0iZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50NjI1Myk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICBkPSJtIDExNi4wNTE5NSwxMTUuMjc3MjUgYyAtMTIuMjcyOSw3LjEzOTUzIDYuNjYxMTUsMTkuNTk4MjIgMTIuMDQ2NzQsMjUuOTM4MDQgMy44MzgwOSw0Ljc1Mjc1IDE3Ljk2NDIxLDEyLjY1NDgzIDE0LjEwNDQ2LDEuMDU4NTYgLTExLjIxMjI5LC02LjAyNjgzIC0yMC4zNzEwNiwtMTUuNjEwNDEgLTI2LjE1MTIsLTI2Ljk5NjYgeiIKICAgICAgIGlkPSJwYXRoNTYwNC05LTEtOC04LTEiIC8+CiAgICA8cGF0aAogICAgICAgc3R5bGU9ImZpbGw6dXJsKCNsaW5lYXJHcmFkaWVudDYyNTApO2ZpbGwtb3BhY2l0eToxO3N0cm9rZTpub25lIgogICAgICAgZD0ibSAxMjQuODE4MTIsMTM0LjkzMTkyIGMgOC41ODE2Miw1LjU0MzgyIC0yLjY2ODU5LDExLjc5NDA4IC02LjY1MjM4LDE2LjQ5NTEgLTUuMTQ0MDcsNS4xNDQwNyAtMTAuMjg4MTUsMTAuMjg4MTUgLTE1LjQzMjIyLDE1LjQzMjIyIC04LjkwNzQzOSwtMi43Nzk3MSAtMTEuMTIzMTQsLTEyLjgxNDIzIC0yLjUxNDUxLC0xNy4xNzA5MiA2LjI5MjY3LC02LjI5MjY3IDEyLjU4NTM1LC0xMi41ODUzNSAxOC44NzgwMywtMTguODc4MDMgMi4xMDYxNiwxLjA2NCA0LjA1MjkyLDIuNDUwNjcgNS43MjEwOCw0LjEyMTYzIHoiCiAgICAgICBpZD0icmVjdDU3NTctNSIgLz4KICAgIDxwYXRoCiAgICAgICBzdHlsZT0iZGlzcGxheTppbmxpbmU7ZmlsbDp1cmwoI2xpbmVhckdyYWRpZW50NjI0NCk7ZmlsbC1vcGFjaXR5OjE7c3Ryb2tlOm5vbmUiCiAgICAgICBkPSJtIDExNS4wNzY2OSwxNDguOTkwMjUgYyAxMC43ODYwMiw1LjY3ODk5IDYuOTkwMzksMTYuMTE1MDggLTEuNzk1NDQsMjEuMzM0MTIgLTE3LjkyODI4LDE3LjkyODI4IC0zNS44NTY1NjUsMzUuODU2NTUgLTUzLjc4NDg0Myw1My43ODQ4MyAtNS4yNTk5NiwtNi42Nzc3NyAtMjMuNzA1NTQ1LC0xNC41NDgyIC0xNS40NDU4MiwtMjMuOTI1MDUgMTkuOTUzMzMzLC0xOS45NTMzMyAzOS45MDY2NzMsLTM5LjkwNjY2IDU5Ljg2MDAwMywtNTkuODYgNC44OTM4OCwxLjAwMjkxIDcuNzA1MzIsNS41MzQ5MiAxMS4xNjYxLDguNjY2MSB6IgogICAgICAgaWQ9InJlY3Q1NzU3LTgtNiIKICAgICAgIHNvZGlwb2RpOm5vZGV0eXBlcz0iY2NjY2NjYyIgLz4KICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Geospatial" camel.apache.org/kamelet.namespace: "Geo" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Nominatim GeoCode Action" description: Find locations on Earth by name and address. required: - serverUrl type: object properties: serverUrl: title: "Server URL" description: "Url of the Nominatim server." example: "https://nominatim.openstreetmap.org" type: string types: in: mediaType: text/plain out: mediaType: application/json schema: type: object required: ["place_id"] properties: place_id: type: numeric licence: type: string osm_type: type: string osm_id: type: numeric boundingbox: type: array lat: type: numeric lon: type: numeric display_name: type: string place_rank: type: numeric category: type: string address: type: object dependencies: - "camel:core" - "camel:jackson" - "camel:geocoder" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - setHeader: name: CamelGeoCoderAddress simple: "${body}" - to: uri: "geocoder:address:toOverride" parameters: type: "NOMINATIM" serverUrl: "RAW({{serverUrl}})" - marshal: json: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ogcapi-features-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgd2lkdGg9IjIxMDAiCiAgIGhlaWdodD0iMjEwMCIKICAgdmlld0JveD0iMCAwIDIxMDAgMjEwMCIKICAgdmVyc2lvbj0iMS4xIgogICB4bWw6c3BhY2U9InByZXNlcnZlIgogICBzdHlsZT0iY2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbC1ydWxlOmV2ZW5vZGQ7c3Ryb2tlLWxpbmVqb2luOnJvdW5kO3N0cm9rZS1taXRlcmxpbWl0OjIiCiAgIGlkPSJzdmcxMTEwIgogICBzb2RpcG9kaTpkb2NuYW1lPSJPcGVuX0dlb3NwYXRpYWxfQ29uc29ydGl1bV9sb2dvLnN2ZyIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4xLjIgKDBhMDBjZjUzMzksIDIwMjItMDItMDQpIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnNlcmlmPSJodHRwOi8vd3d3LnNlcmlmLmNvbS8iPjxkZWZzCiAgIGlkPSJkZWZzMTExNCIgLz48c29kaXBvZGk6bmFtZWR2aWV3CiAgIGlkPSJuYW1lZHZpZXcxMTEyIgogICBwYWdlY29sb3I9IiNmZmZmZmYiCiAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgIGlua3NjYXBlOnBhZ2VzaGFkb3c9IjIiCiAgIGlua3NjYXBlOnBhZ2VvcGFjaXR5PSIwLjAiCiAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgIHNob3dncmlkPSJmYWxzZSIKICAgaW5rc2NhcGU6em9vbT0iMC4xMjgzNzUiCiAgIGlua3NjYXBlOmN4PSIxNDkxLjcyMzUiCiAgIGlua3NjYXBlOmN5PSIxNDA5LjkzMTgiCiAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgaW5rc2NhcGU6d2luZG93LWhlaWdodD0iOTgzIgogICBpbmtzY2FwZTp3aW5kb3cteD0iMCIKICAgaW5rc2NhcGU6d2luZG93LXk9IjAiCiAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9Ik9HQy0yRC1Mb2NrdXAtdy0tVHJhZGVtYXJrIiAvPgogICAgPGcKICAgaWQ9Ik9HQy0yRC1Mb2NrdXAtdy0tVHJhZGVtYXJrIgogICBzZXJpZjppZD0iT0dDIDJEIExvY2t1cCB3LyBUcmFkZW1hcmsiCiAgIHRyYW5zZm9ybT0ibWF0cml4KDIwLjA2NTEsMCwwLDIwLjA2NTEsLTE0MzUuMDksLTEwMjQuMTQpIj4KICAgICAgICAKICAgICAgICA8ZwogICBpZD0iQ3ViZSIKICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoLTM1LjkyNzA1NiwtNDkuNDQ2NTI0KSI+CiAgICAgICAgICAgIDxnCiAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE1Ni4yMTcsMTYxLjU2OSkiCiAgIGlkPSJnMTA5OCI+CiAgICAgICAgICAgICAgICA8cGF0aAogICBkPSJNIDAsMTQuNjUzIDAuMDAxLDQzLjk4MyAtNDIuMzEyLDE5LjU1NCAtNDIuMzEzLC0yOS4zMyAwLC00LjkwMSB2IDkuNzc2IGwgLTguNDQ2LC00Ljg3NCAtNC4yMzMsLTIuNDQ1IC0yMS4xNjcsLTEyLjIyMSB2IDI5LjMzIGwgMjUuNCwxNC42NjYgdiAtOS43NzcgbCAtMTIuNywtNy4zMzMgMC4wMDEsLTQuODg4IGggLTAuMDAxIFYgMi40NDUgWiIKICAgc3R5bGU9ImZpbGw6IzAwYjFmZjtmaWxsLXJ1bGU6bm9uemVybyIKICAgaWQ9InBhdGgxMDk2IiAvPgogICAgICAgICAgICA8L2c+CiAgICAgICAgICAgIDxnCiAgIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE2MC40NTUsMTEwLjI2MSkiCiAgIGlkPSJnMTEwMiI+CiAgICAgICAgICAgICAgICA8cGF0aAogICBkPSJNIDAsMjkuMzMgLTI1LjQwMywxNC42NjUgMCwtMC4wMDEgMjUuMzk5LDE0LjY2NSAyMS4xNjcsMTcuMTA5IFogTSAtMC4wMDEsLTkuNzc3IC00Mi4zMzYsMTQuNjY1IC0wLjAwMSwzOS4xMDcgNDIuMzMzLDE0LjY2NSBaIgogICBzdHlsZT0iZmlsbDojMDBiMWZmO2ZpbGwtcnVsZTpub256ZXJvIgogICBpZD0icGF0aDExMDAiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPGcKICAgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTgxLjY2LDE4MS4yMzkpIgogICBpZD0iZzExMDYiPgogICAgICAgICAgICAgICAgPHBhdGgKICAgZD0ibSAwLC0yNC42ODggOC40NjgsLTQuODg4IDguNDY2LC00Ljg4OSAxMGUtNCw5Ljc3NyA4LjQ0NCwtNC44NzUgdiAtMTkuNDQ0IGwgLTQyLjMxMiwyNC40MjkgdiA5LjY2NiBoIDAuMDAxIGwgLTAuMDAxLDIuOTE4IDAuMDAxLDM2LjE5IC0wLjAyMiwtMC4wMTMgdiAwLjEzNiBMIDI1LjM3OSwtMC4xMjMgdiAtMTkuNjY1IGwgLTguNDQ0LDQuODc3IHYgOS43NzYgTCAtOC40NjYsOS41MyAtOC40NjUsLTE5Ljc5OSBaIgogICBzdHlsZT0iZmlsbDojMDBiMWZmO2ZpbGwtcnVsZTpub256ZXJvIgogICBpZD0icGF0aDExMDQiIC8+CiAgICAgICAgICAgIDwvZz4KICAgICAgICA8L2c+CiAgICA8L2c+Cjwvc3ZnPgo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Geospatial" camel.apache.org/kamelet.namespace: "Geo" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "OGC Api Feature Get Item Action" description: Returns the items of the collection provided of an OGC API Features server. required: - url - collection type: object properties: url: title: URL description: The URL to fetch for data type: string example: "https://emotional.byteroad.net" pattern: "^(http|https)://.*" collection: title: "Collection" description: "Name of the collection we want to extract items from." type: string bbox: title: "Bounding Box" description: "Bounding Box of the items we want to retrieve." example: "160.6,-55.95,-170,-25.89" default: "-180,-90,180,90" type: string limit: title: "Limit" description: "Maximum number of items to retrieve. Must be a number between 1 and 10 000." type: integer default: 10 split: title: "Split by Feature" description: "When true, instead of returning the full geojson, split the message into each feature." type: boolean default: false query: title: "Query" description: "Separated list by `&` of properties we want to query." example: "property1=1&property2=dos" default: "" type: string types: in: mediaType: text/plain out: mediaType: application/json dependencies: - "camel:core" - "camel:http" - "camel:kamelet" - "camel:jsonpath" - "camel:jackson" template: from: uri: "kamelet:source" steps: - setHeader: name: "Accept" constant: "application/geo+json" - setHeader: name: "CamelHttpQuery" simple: "limit={{limit}}&bbox={{bbox}}&{{?query}}&${body}" - setBody: simple: "" - to: uri: "{{url}}/collections/{{collection}}/items" - removeHeader: name: "Accept" - removeHeader: name: "CamelHttpQuery" - convertBodyTo: type: "java.lang.String" - choice: when: - simple: "{{split}}" steps: - split: jsonpath: "$.features[*]" steps: - marshal: json: {} - to: "kamelet:sink" otherwise: steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: opensearch-index-sink labels: camel.apache.org/kamelet.type: "sink" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "OpenSearch" camel.apache.org/kamelet.namespace: "Search" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzNzIgNzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cjx0aXRsZT5PcGVuU2VhcmNoIGxvZ288L3RpdGxlPgo8ZGVzYz5TZWFyY2ggZW5naW5lIHNvZnR3YXJlIGZvcmsgb2YgRWxhc3RpY3NlYXJjaDwvZGVzYz4KIDxwYXRoIGQ9Im02MS43Mzc0IDI2LjVjLTEuMjQ5NiAwLTIuMjYyNiAxLjAxMy0yLjI2MjYgMi4yNjI2IDAgMTguNjE4OC0xNS4wOTM0IDMzLjcxMjItMzMuNzEyMiAzMy43MTIyLTEuMjQ5NiAwLTIuMjYyNiAxLjAxMy0yLjI2MjYgMi4yNjI2czEuMDEzIDIuMjYyNiAyLjI2MjYgMi4yNjI2YzIxLjExNzkgMCAzOC4yMzc0LTE3LjExOTUgMzguMjM3NC0zOC4yMzc0IDAtMS4yNDk2LTEuMDEzLTIuMjYyNi0yLjI2MjYtMi4yNjI2eiIgZmlsbD0iIzAwQTNFMCIvPgogPHBhdGggZD0ibTQ4LjA4MTQgNDFjMi4xNzU4LTMuNTQ5NSA0LjI4MDEtOC4yODIyIDMuODY2MS0xNC45MDc5LTAuODU3Ni0xMy43MjQ4LTEzLjI4ODYtMjQuMTM2NzMtMjUuMDI2OS0yMy4wMDgzNy00LjU5NTMgMC40NDE3NC05LjMxMzggNC4xODc0Ny04Ljg5NDYgMTAuODk2NzcgMC4xODIyIDIuOTE1NiAxLjYwOTIgNC42MzY0IDMuOTI4NCA1Ljk1OTQgMi4yMDc0IDEuMjU5MyA1LjA0MzQgMi4wNTcgOC4yNTg0IDIuOTYxMiAzLjg4MzQgMS4wOTIzIDguMzg4MSAyLjMxOTIgMTEuODUwMyA0Ljg3MDYgNC4xNDk0IDMuMDU3OSA2Ljk4NiA2LjYwMjYgNi4wMTgzIDEzLjIyODN6IiBmaWxsPSIjQjlEOUVCIi8+CiA8cGF0aCBkPSJtMy45MTg2MSAxN2MtMi4xNzU4NSAzLjU0OTUtNC4yODAxMTYgOC4yODIyLTMuODY2MTE3IDE0LjkwNzkgMC44NTc1Nzg5IDEzLjcyNDggMTMuMjg4NjEgMjQuMTM2NyAyNS4wMjY5MSAyMy4wMDg0IDQuNTk1My0wLjQ0MTggOS4zMTM4LTQuMTg3NSA4Ljg5NDYtMTAuODk2OC0wLjE4MjItMi45MTU2LTEuNjA5My00LjYzNjQtMy45Mjg0LTUuOTU5NC0yLjIwNzQtMS4yNTkzLTUuMDQzNC0yLjA1Ny04LjI1ODQtMi45NjEyLTMuODgzNC0xLjA5MjMtOC4zODgxLTIuMzE5Mi0xMS44NTAyNS00Ljg3MDYtNC4xNDk0OC0zLjA1NzktNi45ODYwMy02LjYwMjYtNi4wMTgzNC0xMy4yMjgzeiIgZmlsbD0iIzAwQTNFMCIvPgogPHBhdGggZD0ibTM2Mi41IDMxdjIzaDl2LTI1YzAtNC42MDczLTAuOS04LjA4NzktMi43MDEtMTAuNDQ4OS0xLjgwMS0yLjM4MzktNC41MTctMy41NTExLTguMDQ5LTMuNTUxMS0zLjgzMiAwLTYuOTAzIDIuMjQwOC04Ljc1IDZoLTAuNWMwLjEzNi0xLjk0MDkgMC4yNi0zLjA1MjggMC4zNS0zLjg2NDcgMC4wOTMtMC44MzczIDAuMTUtMS4zNTU2IDAuMTUtMi4xMzUzdi0xNC41aC05djUzLjVoOS41di0xOC41YzAtNC4xNDg5IDAuMTM5LTcuMjE4NSAwLjk5My05LjQxOSAwLjg1NC0yLjIyMzUgMi4zNDMtMy4zMzUyIDQuNDY3LTMuMzM1MiAyLjgzOSAwIDQuNTQgMi42MzgzIDQuNTQgOC4yNTQyem0tMTMwLjY0OCAyMC4yMjg5YzIuNDMyLTIuNTE0MSAzLjY0OC02LjEzNTMgMy42NDgtMTAuODYzNiAwLTIuOTUyNC0wLjY2Ni01LjU4MTgtMS45OTktNy44ODgzLTEuMzEtMi4zMDY1LTMuNjM2LTQuNTY2OC02Ljk4LTYuNzgxMS0yLjQ3OS0xLjYxNDUtNC4yMjEtMy4wNTYxLTUuMjI3LTQuMzI0Ni0wLjk4Mi0xLjI2ODYtMS40NzMtMi43NTYzLTEuNDczLTQuNDYzMSAwLTEuNzI5OSAwLjQwOS0zLjA5MDcgMS4yMjgtNC4wODI1IDAuODQyLTEuMDE0OSAyLjAzNC0xLjUyMjMgMy41NzgtMS41MjIzIDEuNDAzIDAgMi43MTIgMC4yNTM3IDMuOTI4IDAuNzYxMSAxLjIzOSAwLjUwNzUgMi40MiAxLjA4NDEgMy41NDMgMS43Mjk5bDMuMTU2LTcuNTQyMjRjLTMuNjI0LTIuMTY4MTEtNy40LTMuMjUyMTYtMTEuMzI5LTMuMjUyMTYtNC4xMTYgMC03LjQwMSAxLjI2ODU3LTkuODU2IDMuODA1NzItMi40MzIgMi41MzcxNS0zLjY0OCA1Ljk3Mzg4LTMuNjQ4IDEwLjMxMDA4IDAgMi4yNjAzIDAuMzA0IDQuMjQzOSAwLjkxMiA1Ljk1MDcgMC42MzEgMS43MDY4IDEuNTA4IDMuMjUyMiAyLjYzMSA0LjYzNjEgMS4xNDUgMS4zNjA4IDIuODE3IDIuNzkwOSA1LjAxNSA0LjI5MDEgMi41MjYgMS43MDY4IDQuMzM4IDMuMjYzNyA1LjQzNyA0LjY3MDYgMS4wOTkgMS4zODM5IDEuNjQ5IDIuOTE3OCAxLjY0OSA0LjYwMTUgMCAxLjcwNjgtMC40NjggMy4wNTYxLTEuNDAzIDQuMDQ3OS0wLjkxMiAwLjk5MTgtMi4yOCAxLjQ4NzctNC4xMDQgMS40ODc3LTMuMjA0IDAtNi43MjMtMS4yMzQtMTAuNTU4LTMuNzAxOXY5LjMwNjdjMy4xMzMgMS43Mjk5IDYuOTMzIDIuNTk0OCAxMS40IDIuNTk0OCA0LjU1OSAwIDguMDQ0LTEuMjU3IDEwLjQ1Mi0zLjc3MTF6bTkuODIyLTEuMzU0NGMyLjgwNiAzLjQxNyA2LjYzMiA1LjEyNTUgMTEuNDc4IDUuMTI1NSA0LjE1MSAwIDcuNzEtMC44ODg5IDEwLjY3OC0yLjY2Njd2LTcuNTg0NGMtMy4xNTMgMS44NzAxLTYuMjM3IDIuODA1Mi05LjI1MiAyLjgwNTItMi4zNjUgMC00LjIyLTAuODMxMi01LjU2NS0yLjQ5MzUtMS4zNDUtMS42ODU0LTEuOTQzLTQuMTIwNS0yLjAxMy03LjU2MDZoMTguNXYtNS4wNDU1YzAtNS41MTgtMS4yMTctOS44MDA4LTMuNjUyLTEyLjg0ODQtMi40MzUtMy4wNzA3LTUuNzYyLTQuNjA2MS05Ljk4My00LjYwNjEtNC41MjIgMC04LjA0NiAxLjc4OTMtMTAuNTc0IDUuMzY4LTIuNTI3IDMuNTc4Ni0zLjc5MSA4LjU1NDEtMy43OTEgMTQuOTI2NCAwIDYuMjc5OSAxLjM5MSAxMS4xMzk5IDQuMTc0IDE0LjU4MDF6bTYuODUyLTI1LjY2MjRjMC44NTgtMS40MDgzIDEuOTQ4LTIuMTEyNSAzLjI3LTIuMTEyNSAxLjQxNCAwIDIuNTI3IDAuNzI3MiAzLjMzOSAyLjE4MTggMC44MTEgMS40NTQ1IDEuMzE5IDMuOTAxOSAxLjM2NSA2LjcxODZoLTkuNWMwLjEzOS0yLjkzMjIgMC42NjgtNS40MDI2IDEuNTI2LTYuNzg3OXptMzkuNDc0IDI5Ljc4NzktMS41LTVoLTAuNWMtMS4zNzggMi4yNTg3LTIuNzA1IDMuODY4LTQuMTc2IDQuNzIwOC0xLjQ3MiAwLjg1MjgtMy4zMyAxLjI3OTItNS41NzIgMS4yNzkyLTIuODc0IDAtNS4xNC0xLjA2MDItNi43OTktMy4xODA2LTEuNjM1LTIuMTIwNS0yLjQ1My01LjA3MDYtMi40NTMtOC44NTA1IDAtNC4wNTY1IDEuMTIxLTcuMDY0MyAzLjM2NC05LjAyMzQgMi4yNjYtMS45ODIxIDUuNjQyLTMuMDc2OSAxMC4xMjgtMy4yODQzbDUuMTg2LTAuMjA3NHYtMi43NjU4YzAtMy41OTU1LTEuNTc3LTUuMzkzMy00LjczMS01LjM5MzMtMi4zMzYgMC01LjAyMyAwLjg5ODktOC4wNiAyLjY5NjdsLTMuMjI0LTYuMzYxM2MzLjg3OC0yLjQyMDEgOC4wMzEtMy42MzAxIDEyLjU4Ny0zLjYzMDEgNC4xMzUgMCA3LjM0MiAxLjE3NTUgOS40OTEgMy41MjY0IDIuMTczIDIuMzI3OCAzLjI1OSA1LjYzNTIgMy4yNTkgOS45MjIydjI1LjU1MTRoLTd6bS03LjkyOS02LjE5MWMxLjcwNiAwIDMuMDYxLTAuNzQ5MSA0LjA2NS0yLjI0NzIgMS4wMjgtMS41MjEyIDEuNTQyLTMuNTM3OSAxLjU0Mi02LjA1MDF2LTMuMjQ5OGwtMi44NzMgMC4xMzgzYy0yLjEyNiAwLjExNTItMy42OTIgMC43MTQ1LTQuNjk2IDEuNzk3Ny0wLjk4MSAxLjA4MzMtMS40NzIgMi42OTY3LTEuNDcyIDQuODQwMSAwIDMuMTgwNyAxLjE0NSA0Ljc3MSAzLjQzNCA0Ljc3MXptMzcuOTI5LTMyLjA1OWMtMS4wNy0wLjM0NS0yLjY2My0wLjc1LTMuNzc4LTAuNzUtMS41NzEgMC0yLjk0OSAwLjUxNzQtNC4xMzMgMS41NTIzcy0yLjA4NyAyLjAzMy0zLjA4OSA0LjQ0NzdoLTAuNWwtMS41LTVoLTd2MzhoOS40NjN2LTIwYzAtMy4zNTc2IDAuMjEzLTUuNTIzNyAxLjM5Ny03LjI3MTUgMS4xODQtMS43NzA4IDIuODgtMi42NTYyIDUuMDg4LTIuNjU2MiAxLjAyNSAwIDEuOTE1IDAuMTk3NyAyLjU1MiAwLjQyNzdsMS41LTguNzV6bTE0IDM5LjI1Yy00LjU1NyAwLTguMDQ2LTEuNTIyLTEwLjQyNy00Ljg2OTgtMi4zODItMy4zNDc4LTMuNTczLTguMjY1NS0zLjU3My0xNC43NTMyIDAtNi43ODc5IDEuMTIyLTExLjg1NTcgMy4zNjYtMTUuMjAzNSAyLjI2OC0zLjM0NzggNS42NTEtNS4xNzM1IDEwLjM2OS01LjE3MzUgMS40MTkgMCAzLjAxNyAwLjM1OTYgNC41NzQgMC43NzUyczMuNDU0IDAuOTM5OCA0LjY5MSAxLjcyNDhsLTMuMTExIDcuMjQ0OWMtMS45LTEuMTMxMy0zLjU4NC0xLjY5NjktNS4wNDktMS42OTY5LTEuOTQ3IDAtMy4zNTUgMS4wMjc0LTQuMjI2IDMuMDgyMi0wLjg0NyAyLjAzMTgtMS4yNyA1LjA5MDktMS4yNyA5LjE3NzUgMCAzLjk5NDIgMC40MjMgNi45ODQxIDEuMjcgOC45Njk3IDAuODQ4IDEuOTYyNSAyLjIzMyAyLjk0MzcgNC4xNTcgMi45NDM3IDIuMjkgMCA0LjY4My0wLjgwODEgNy4xNzktMi40MjQydjguMTAzOWMtMi40MDQgMS41MDA3LTUuMDQyIDIuMDk5Mi03Ljk1IDIuMDk5MnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0I5RDlFQiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiA8cGF0aCBkPSJtMTA3Ljc3NyA0OC4yNjI1YzMuMTQ5LTQuNDkxNyA0LjcyMy0xMC45MTgzIDQuNzIzLTE5LjI3OTggMC04LjM2MTQtMS41NjMtMTQuNzc2NS00LjY4OC0xOS4yNDUxNi0zLjEyNi00LjQ5MTY5LTcuNjE4LTYuNzM3NTQtMTMuNDc1Mi02LjczNzU0LTUuOTI3IDAtMTAuNDY0OSAyLjIzNDMzLTEzLjYxMzcgNi43MDI5OS0zLjE0ODcgNC40NDU2MS00LjcyMzEgMTAuODQ5MjEtNC43MjMxIDE5LjIxMDYxIDAgOC40MzA2IDEuNTc0NCAxNC44OTE3IDQuNzIzMSAxOS4zODM0IDMuMTQ4OCA0LjQ2ODcgNy42NjM1IDYuNzAzIDEzLjU0NDMgNi43MDMgNS44NTc2IDAgMTAuMzYwNi0yLjI0NTggMTMuNTA5Ni02LjczNzV6bS0xOS45MzQ1LTYuMTE1N2MtMS40NTg2LTMuMDE3NS0yLjE4NzktNy40MDU1LTIuMTg3OS0xMy4xNjQxIDAtNS43ODE2IDAuNzI5My0xMC4xNjk2IDIuMTg3OS0xMy4xNjQxIDEuNDU4Ni0zLjAxNzUgMy42MjM0LTQuNTI2MiA2LjQ5NDMtNC41MjYyIDUuNjQ5MiAwIDguNDc0MiA1Ljg5NjcgOC40NzQyIDE3LjY5MDNzLTIuODQ4MSAxNy42OTA0LTguNTQzNiAxNy42OTA0Yy0yLjgyNDYgMC00Ljk2NjMtMS41MDg4LTYuNDI0OS00LjUyNjN6bTQwLjM0MzUgMTEuODUxMWMxLjI4MyAwLjc0MDggMi42NjQgMS4wMDIxIDQuMzE0IDEuMDAyMSAzLjUzIDAgNi40LTEuNjczNSA4LjQ0LTUuMjM4OCAyLjA0LTMuNTY1MiAzLjA2LTguNDg0OCAzLjA2LTE0Ljc1ODcgMC02LjM2NjYtMC45ODYtMTEuMjg2MS0yLjk1Ny0xNC43NTg4LTEuOTcxLTMuNDk1OC00LjY5OC01LjI0MzctOC4xODItNS4yNDM3LTMuNjIxIDAtNi40NTkgMi4xNTY5LTguMzYxIDZoLTAuNWwtMS41LTVoLTd2NTUuNWg5di0xNi41YzAtMC42NDgyLTAuMTMzLTIuODUxNS0wLjUtNmgwLjVjMC43NSAyLjI1IDIuNDI1IDQuMjMzOSAzLjY4NiA0Ljk5Nzl6bS0yLjMwNC0yOC42MTQ3YzAuODAzLTEuNjkgMi4wOTctMi41MzUgMy44ODUtMi41MzUgMS42NzMgMCAyLjg5OSAwLjk5NTUgMy42NzkgMi45ODY1IDAuODAyIDEuOTkxIDEuMjAzIDUuMDAwNiAxLjIwMyA5LjAyODkgMCA4LjE5NTQtMS42MDQgMTIuMjkzMS00LjgxMyAxMi4yOTMxLTEuODU3IDAtMy4xODYtMC45NzIzLTMuOTg4LTIuOTE3cy0xLjIwMy01LjA0NjktMS4yMDMtOS4zMDY3di0xLjIxNTRjMC4wNDYtMy44ODk0IDAuNDU4LTYuNjY3NSAxLjIzNy04LjMzNDR6bTM1Ljc3IDI5LjYxNjhjLTQuODQ2IDAtOC42NzItMS43MDg1LTExLjQ3OC01LjEyNTUtMi43ODMtMy40NDAyLTQuMTc0LTguMzAwMi00LjE3NC0xNC41ODAxIDAtNi4zNzIzIDEuMjY0LTExLjM0NzggMy43OTEtMTQuOTI2NCAyLjUyOC0zLjU3ODcgNi4wNTItNS4zNjggMTAuNTc0LTUuMzY4IDQuMjIgMCA3LjU0OCAxLjUzNTQgOS45ODMgNC42MDYxIDIuNDM1IDMuMDQ3NiAzLjY1MiA3LjMzMDQgMy42NTIgMTIuODQ4NHY1LjA0NTVoLTE4LjVjMC4wNyAzLjQ0MDEgMC42NjggNS44NzUyIDIuMDEzIDcuNTYwNiAxLjM0NSAxLjY2MjMgMy4yIDIuNDkzNSA1LjU2NSAyLjQ5MzUgMy4wMTUgMCA2LjA5OS0wLjkzNTEgOS4yNTItMi44MDUydjcuNTg0NGMtMi45NjggMS43Nzc4LTYuNTI3IDIuNjY2Ny0xMC42NzggMi42NjY3em0tMS4zNTYtMzIuOTAwNGMtMS4zMjIgMC0yLjQxMiAwLjcwNDItMy4yNyAyLjExMjUtMC44NTggMS4zODUzLTEuMzg3IDMuODU1Ny0xLjUyNiA2Ljc4NzloOS41Yy0wLjA0Ni0yLjgxNjctMC41NTQtNS4yNjQxLTEuMzY1LTYuNzE4Ni0wLjgxMi0xLjQ1NDYtMS45MjUtMi4xODE4LTMuMzM5LTIuMTgxOHptMzYuMjA0IDguOTAwNHYyM2g5di0yNC44MDA5YzAtNC42NDAyLTAuODc3LTguMTY2OC0yLjYzMi0xMC41Nzk3LTEuNzMxLTIuNDEyOS00LjM1Mi0zLjYxOTQtNy44NjEtMy42MTk0LTIuMDc3IDAtMy44OSAwLjUxMDQtNS40MzcgMS41MzEzLTEuNTQ2IDAuOTk3Ni0yLjczOSAyLjY4MjItMy41NyA0LjQ2ODdoLTAuNWwtMS4yNS01aC03LjI1djM4aDkuNXYtMTguMjVjMC00LjcwOTggMC4xNzMtNy45MTk4IDEuMDk3LTkuODkxOCAwLjkyMy0xLjk5NTQgMi4zNzctMi45OTMgNC4zNjMtMi45OTMgMS41IDAgMi41ODYgMC43MTkyIDMuMjU1IDIuMTU3NyAwLjY3IDEuNDM4NSAxLjI4NSAzLjE2OTggMS4yODUgNS45NzcxeiIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjMDBBM0UwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+" spec: definition: title: "OpenSearch Index Sink" description: Stores JSON-formatted data into Opensearch. required: - clusterName - hostAddresses type: object properties: user: title: Username description: The username to connect to OpenSearch. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to connect to OpenSearch. type: string format: password x-descriptors: - urn:camel:group:credentials enableSSL: title: Enable SSL description: Specifies to connect by using SSL. type: boolean default: false hostAddresses: title: Host Addresses description: A comma-separated list of remote transport addresses in `ip:port format`. type: string example: quickstart-es-http:9200 clusterName: title: OpenSearch Cluster Name description: The name of the OpenSearch cluster. type: string example: quickstart indexName: title: Index in OpenSearch description: The name of the OpenSearch index. type: string example: data certificate: title: Certificate description: The Certificate for accessing the OpenSearch cluster. You must encode this value in base64. type: string types: out: mediaType: text/plain in: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:opensearch" - "camel:gson" - "camel:bean" template: beans: - name: local-opensearch type: "#class:org.apache.camel.component.opensearch.OpensearchComponent" properties: user: "{{?user}}" password: "{{?password}}" from: uri: kamelet:source steps: - choice: when: - simple: "${header[indexId]}" steps: - setHeader: name: "indexId" simple: "${header[indexId]}" - simple: "${header[ce-indexid]}" steps: - setHeader: name: "indexId" simple: "${header[ce-indexid]}" - choice: when: - simple: "${header[indexName]}" steps: - setHeader: name: "indexName" simple: "${header[indexName]}" - simple: "${header[ce-indexname]}" steps: - setHeader: name: "indexName" simple: "${header[ce-indexname]}" - unmarshal: json: {} - to: uri: "{{local-opensearch}}:{{clusterName}}" parameters: operation: "INDEX" hostAddresses: "{{hostAddresses}}" enableSSL: "{{enableSSL}}" indexName: "{{?indexName}}" certificatePath: "base64:{{?certificate}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: opensearch-search-source labels: camel.apache.org/kamelet.type: "source" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.group: "OpenSearch" camel.apache.org/kamelet.namespace: "Search" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCAzNzIgNzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+Cjx0aXRsZT5PcGVuU2VhcmNoIGxvZ288L3RpdGxlPgo8ZGVzYz5TZWFyY2ggZW5naW5lIHNvZnR3YXJlIGZvcmsgb2YgRWxhc3RpY3NlYXJjaDwvZGVzYz4KIDxwYXRoIGQ9Im02MS43Mzc0IDI2LjVjLTEuMjQ5NiAwLTIuMjYyNiAxLjAxMy0yLjI2MjYgMi4yNjI2IDAgMTguNjE4OC0xNS4wOTM0IDMzLjcxMjItMzMuNzEyMiAzMy43MTIyLTEuMjQ5NiAwLTIuMjYyNiAxLjAxMy0yLjI2MjYgMi4yNjI2czEuMDEzIDIuMjYyNiAyLjI2MjYgMi4yNjI2YzIxLjExNzkgMCAzOC4yMzc0LTE3LjExOTUgMzguMjM3NC0zOC4yMzc0IDAtMS4yNDk2LTEuMDEzLTIuMjYyNi0yLjI2MjYtMi4yNjI2eiIgZmlsbD0iIzAwQTNFMCIvPgogPHBhdGggZD0ibTQ4LjA4MTQgNDFjMi4xNzU4LTMuNTQ5NSA0LjI4MDEtOC4yODIyIDMuODY2MS0xNC45MDc5LTAuODU3Ni0xMy43MjQ4LTEzLjI4ODYtMjQuMTM2NzMtMjUuMDI2OS0yMy4wMDgzNy00LjU5NTMgMC40NDE3NC05LjMxMzggNC4xODc0Ny04Ljg5NDYgMTAuODk2NzcgMC4xODIyIDIuOTE1NiAxLjYwOTIgNC42MzY0IDMuOTI4NCA1Ljk1OTQgMi4yMDc0IDEuMjU5MyA1LjA0MzQgMi4wNTcgOC4yNTg0IDIuOTYxMiAzLjg4MzQgMS4wOTIzIDguMzg4MSAyLjMxOTIgMTEuODUwMyA0Ljg3MDYgNC4xNDk0IDMuMDU3OSA2Ljk4NiA2LjYwMjYgNi4wMTgzIDEzLjIyODN6IiBmaWxsPSIjQjlEOUVCIi8+CiA8cGF0aCBkPSJtMy45MTg2MSAxN2MtMi4xNzU4NSAzLjU0OTUtNC4yODAxMTYgOC4yODIyLTMuODY2MTE3IDE0LjkwNzkgMC44NTc1Nzg5IDEzLjcyNDggMTMuMjg4NjEgMjQuMTM2NyAyNS4wMjY5MSAyMy4wMDg0IDQuNTk1My0wLjQ0MTggOS4zMTM4LTQuMTg3NSA4Ljg5NDYtMTAuODk2OC0wLjE4MjItMi45MTU2LTEuNjA5My00LjYzNjQtMy45Mjg0LTUuOTU5NC0yLjIwNzQtMS4yNTkzLTUuMDQzNC0yLjA1Ny04LjI1ODQtMi45NjEyLTMuODgzNC0xLjA5MjMtOC4zODgxLTIuMzE5Mi0xMS44NTAyNS00Ljg3MDYtNC4xNDk0OC0zLjA1NzktNi45ODYwMy02LjYwMjYtNi4wMTgzNC0xMy4yMjgzeiIgZmlsbD0iIzAwQTNFMCIvPgogPHBhdGggZD0ibTM2Mi41IDMxdjIzaDl2LTI1YzAtNC42MDczLTAuOS04LjA4NzktMi43MDEtMTAuNDQ4OS0xLjgwMS0yLjM4MzktNC41MTctMy41NTExLTguMDQ5LTMuNTUxMS0zLjgzMiAwLTYuOTAzIDIuMjQwOC04Ljc1IDZoLTAuNWMwLjEzNi0xLjk0MDkgMC4yNi0zLjA1MjggMC4zNS0zLjg2NDcgMC4wOTMtMC44MzczIDAuMTUtMS4zNTU2IDAuMTUtMi4xMzUzdi0xNC41aC05djUzLjVoOS41di0xOC41YzAtNC4xNDg5IDAuMTM5LTcuMjE4NSAwLjk5My05LjQxOSAwLjg1NC0yLjIyMzUgMi4zNDMtMy4zMzUyIDQuNDY3LTMuMzM1MiAyLjgzOSAwIDQuNTQgMi42MzgzIDQuNTQgOC4yNTQyem0tMTMwLjY0OCAyMC4yMjg5YzIuNDMyLTIuNTE0MSAzLjY0OC02LjEzNTMgMy42NDgtMTAuODYzNiAwLTIuOTUyNC0wLjY2Ni01LjU4MTgtMS45OTktNy44ODgzLTEuMzEtMi4zMDY1LTMuNjM2LTQuNTY2OC02Ljk4LTYuNzgxMS0yLjQ3OS0xLjYxNDUtNC4yMjEtMy4wNTYxLTUuMjI3LTQuMzI0Ni0wLjk4Mi0xLjI2ODYtMS40NzMtMi43NTYzLTEuNDczLTQuNDYzMSAwLTEuNzI5OSAwLjQwOS0zLjA5MDcgMS4yMjgtNC4wODI1IDAuODQyLTEuMDE0OSAyLjAzNC0xLjUyMjMgMy41NzgtMS41MjIzIDEuNDAzIDAgMi43MTIgMC4yNTM3IDMuOTI4IDAuNzYxMSAxLjIzOSAwLjUwNzUgMi40MiAxLjA4NDEgMy41NDMgMS43Mjk5bDMuMTU2LTcuNTQyMjRjLTMuNjI0LTIuMTY4MTEtNy40LTMuMjUyMTYtMTEuMzI5LTMuMjUyMTYtNC4xMTYgMC03LjQwMSAxLjI2ODU3LTkuODU2IDMuODA1NzItMi40MzIgMi41MzcxNS0zLjY0OCA1Ljk3Mzg4LTMuNjQ4IDEwLjMxMDA4IDAgMi4yNjAzIDAuMzA0IDQuMjQzOSAwLjkxMiA1Ljk1MDcgMC42MzEgMS43MDY4IDEuNTA4IDMuMjUyMiAyLjYzMSA0LjYzNjEgMS4xNDUgMS4zNjA4IDIuODE3IDIuNzkwOSA1LjAxNSA0LjI5MDEgMi41MjYgMS43MDY4IDQuMzM4IDMuMjYzNyA1LjQzNyA0LjY3MDYgMS4wOTkgMS4zODM5IDEuNjQ5IDIuOTE3OCAxLjY0OSA0LjYwMTUgMCAxLjcwNjgtMC40NjggMy4wNTYxLTEuNDAzIDQuMDQ3OS0wLjkxMiAwLjk5MTgtMi4yOCAxLjQ4NzctNC4xMDQgMS40ODc3LTMuMjA0IDAtNi43MjMtMS4yMzQtMTAuNTU4LTMuNzAxOXY5LjMwNjdjMy4xMzMgMS43Mjk5IDYuOTMzIDIuNTk0OCAxMS40IDIuNTk0OCA0LjU1OSAwIDguMDQ0LTEuMjU3IDEwLjQ1Mi0zLjc3MTF6bTkuODIyLTEuMzU0NGMyLjgwNiAzLjQxNyA2LjYzMiA1LjEyNTUgMTEuNDc4IDUuMTI1NSA0LjE1MSAwIDcuNzEtMC44ODg5IDEwLjY3OC0yLjY2Njd2LTcuNTg0NGMtMy4xNTMgMS44NzAxLTYuMjM3IDIuODA1Mi05LjI1MiAyLjgwNTItMi4zNjUgMC00LjIyLTAuODMxMi01LjU2NS0yLjQ5MzUtMS4zNDUtMS42ODU0LTEuOTQzLTQuMTIwNS0yLjAxMy03LjU2MDZoMTguNXYtNS4wNDU1YzAtNS41MTgtMS4yMTctOS44MDA4LTMuNjUyLTEyLjg0ODQtMi40MzUtMy4wNzA3LTUuNzYyLTQuNjA2MS05Ljk4My00LjYwNjEtNC41MjIgMC04LjA0NiAxLjc4OTMtMTAuNTc0IDUuMzY4LTIuNTI3IDMuNTc4Ni0zLjc5MSA4LjU1NDEtMy43OTEgMTQuOTI2NCAwIDYuMjc5OSAxLjM5MSAxMS4xMzk5IDQuMTc0IDE0LjU4MDF6bTYuODUyLTI1LjY2MjRjMC44NTgtMS40MDgzIDEuOTQ4LTIuMTEyNSAzLjI3LTIuMTEyNSAxLjQxNCAwIDIuNTI3IDAuNzI3MiAzLjMzOSAyLjE4MTggMC44MTEgMS40NTQ1IDEuMzE5IDMuOTAxOSAxLjM2NSA2LjcxODZoLTkuNWMwLjEzOS0yLjkzMjIgMC42NjgtNS40MDI2IDEuNTI2LTYuNzg3OXptMzkuNDc0IDI5Ljc4NzktMS41LTVoLTAuNWMtMS4zNzggMi4yNTg3LTIuNzA1IDMuODY4LTQuMTc2IDQuNzIwOC0xLjQ3MiAwLjg1MjgtMy4zMyAxLjI3OTItNS41NzIgMS4yNzkyLTIuODc0IDAtNS4xNC0xLjA2MDItNi43OTktMy4xODA2LTEuNjM1LTIuMTIwNS0yLjQ1My01LjA3MDYtMi40NTMtOC44NTA1IDAtNC4wNTY1IDEuMTIxLTcuMDY0MyAzLjM2NC05LjAyMzQgMi4yNjYtMS45ODIxIDUuNjQyLTMuMDc2OSAxMC4xMjgtMy4yODQzbDUuMTg2LTAuMjA3NHYtMi43NjU4YzAtMy41OTU1LTEuNTc3LTUuMzkzMy00LjczMS01LjM5MzMtMi4zMzYgMC01LjAyMyAwLjg5ODktOC4wNiAyLjY5NjdsLTMuMjI0LTYuMzYxM2MzLjg3OC0yLjQyMDEgOC4wMzEtMy42MzAxIDEyLjU4Ny0zLjYzMDEgNC4xMzUgMCA3LjM0MiAxLjE3NTUgOS40OTEgMy41MjY0IDIuMTczIDIuMzI3OCAzLjI1OSA1LjYzNTIgMy4yNTkgOS45MjIydjI1LjU1MTRoLTd6bS03LjkyOS02LjE5MWMxLjcwNiAwIDMuMDYxLTAuNzQ5MSA0LjA2NS0yLjI0NzIgMS4wMjgtMS41MjEyIDEuNTQyLTMuNTM3OSAxLjU0Mi02LjA1MDF2LTMuMjQ5OGwtMi44NzMgMC4xMzgzYy0yLjEyNiAwLjExNTItMy42OTIgMC43MTQ1LTQuNjk2IDEuNzk3Ny0wLjk4MSAxLjA4MzMtMS40NzIgMi42OTY3LTEuNDcyIDQuODQwMSAwIDMuMTgwNyAxLjE0NSA0Ljc3MSAzLjQzNCA0Ljc3MXptMzcuOTI5LTMyLjA1OWMtMS4wNy0wLjM0NS0yLjY2My0wLjc1LTMuNzc4LTAuNzUtMS41NzEgMC0yLjk0OSAwLjUxNzQtNC4xMzMgMS41NTIzcy0yLjA4NyAyLjAzMy0zLjA4OSA0LjQ0NzdoLTAuNWwtMS41LTVoLTd2MzhoOS40NjN2LTIwYzAtMy4zNTc2IDAuMjEzLTUuNTIzNyAxLjM5Ny03LjI3MTUgMS4xODQtMS43NzA4IDIuODgtMi42NTYyIDUuMDg4LTIuNjU2MiAxLjAyNSAwIDEuOTE1IDAuMTk3NyAyLjU1MiAwLjQyNzdsMS41LTguNzV6bTE0IDM5LjI1Yy00LjU1NyAwLTguMDQ2LTEuNTIyLTEwLjQyNy00Ljg2OTgtMi4zODItMy4zNDc4LTMuNTczLTguMjY1NS0zLjU3My0xNC43NTMyIDAtNi43ODc5IDEuMTIyLTExLjg1NTcgMy4zNjYtMTUuMjAzNSAyLjI2OC0zLjM0NzggNS42NTEtNS4xNzM1IDEwLjM2OS01LjE3MzUgMS40MTkgMCAzLjAxNyAwLjM1OTYgNC41NzQgMC43NzUyczMuNDU0IDAuOTM5OCA0LjY5MSAxLjcyNDhsLTMuMTExIDcuMjQ0OWMtMS45LTEuMTMxMy0zLjU4NC0xLjY5NjktNS4wNDktMS42OTY5LTEuOTQ3IDAtMy4zNTUgMS4wMjc0LTQuMjI2IDMuMDgyMi0wLjg0NyAyLjAzMTgtMS4yNyA1LjA5MDktMS4yNyA5LjE3NzUgMCAzLjk5NDIgMC40MjMgNi45ODQxIDEuMjcgOC45Njk3IDAuODQ4IDEuOTYyNSAyLjIzMyAyLjk0MzcgNC4xNTcgMi45NDM3IDIuMjkgMCA0LjY4My0wLjgwODEgNy4xNzktMi40MjQydjguMTAzOWMtMi40MDQgMS41MDA3LTUuMDQyIDIuMDk5Mi03Ljk1IDIuMDk5MnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZmlsbD0iI0I5RDlFQiIgZmlsbC1ydWxlPSJldmVub2RkIi8+CiA8cGF0aCBkPSJtMTA3Ljc3NyA0OC4yNjI1YzMuMTQ5LTQuNDkxNyA0LjcyMy0xMC45MTgzIDQuNzIzLTE5LjI3OTggMC04LjM2MTQtMS41NjMtMTQuNzc2NS00LjY4OC0xOS4yNDUxNi0zLjEyNi00LjQ5MTY5LTcuNjE4LTYuNzM3NTQtMTMuNDc1Mi02LjczNzU0LTUuOTI3IDAtMTAuNDY0OSAyLjIzNDMzLTEzLjYxMzcgNi43MDI5OS0zLjE0ODcgNC40NDU2MS00LjcyMzEgMTAuODQ5MjEtNC43MjMxIDE5LjIxMDYxIDAgOC40MzA2IDEuNTc0NCAxNC44OTE3IDQuNzIzMSAxOS4zODM0IDMuMTQ4OCA0LjQ2ODcgNy42NjM1IDYuNzAzIDEzLjU0NDMgNi43MDMgNS44NTc2IDAgMTAuMzYwNi0yLjI0NTggMTMuNTA5Ni02LjczNzV6bS0xOS45MzQ1LTYuMTE1N2MtMS40NTg2LTMuMDE3NS0yLjE4NzktNy40MDU1LTIuMTg3OS0xMy4xNjQxIDAtNS43ODE2IDAuNzI5My0xMC4xNjk2IDIuMTg3OS0xMy4xNjQxIDEuNDU4Ni0zLjAxNzUgMy42MjM0LTQuNTI2MiA2LjQ5NDMtNC41MjYyIDUuNjQ5MiAwIDguNDc0MiA1Ljg5NjcgOC40NzQyIDE3LjY5MDNzLTIuODQ4MSAxNy42OTA0LTguNTQzNiAxNy42OTA0Yy0yLjgyNDYgMC00Ljk2NjMtMS41MDg4LTYuNDI0OS00LjUyNjN6bTQwLjM0MzUgMTEuODUxMWMxLjI4MyAwLjc0MDggMi42NjQgMS4wMDIxIDQuMzE0IDEuMDAyMSAzLjUzIDAgNi40LTEuNjczNSA4LjQ0LTUuMjM4OCAyLjA0LTMuNTY1MiAzLjA2LTguNDg0OCAzLjA2LTE0Ljc1ODcgMC02LjM2NjYtMC45ODYtMTEuMjg2MS0yLjk1Ny0xNC43NTg4LTEuOTcxLTMuNDk1OC00LjY5OC01LjI0MzctOC4xODItNS4yNDM3LTMuNjIxIDAtNi40NTkgMi4xNTY5LTguMzYxIDZoLTAuNWwtMS41LTVoLTd2NTUuNWg5di0xNi41YzAtMC42NDgyLTAuMTMzLTIuODUxNS0wLjUtNmgwLjVjMC43NSAyLjI1IDIuNDI1IDQuMjMzOSAzLjY4NiA0Ljk5Nzl6bS0yLjMwNC0yOC42MTQ3YzAuODAzLTEuNjkgMi4wOTctMi41MzUgMy44ODUtMi41MzUgMS42NzMgMCAyLjg5OSAwLjk5NTUgMy42NzkgMi45ODY1IDAuODAyIDEuOTkxIDEuMjAzIDUuMDAwNiAxLjIwMyA5LjAyODkgMCA4LjE5NTQtMS42MDQgMTIuMjkzMS00LjgxMyAxMi4yOTMxLTEuODU3IDAtMy4xODYtMC45NzIzLTMuOTg4LTIuOTE3cy0xLjIwMy01LjA0NjktMS4yMDMtOS4zMDY3di0xLjIxNTRjMC4wNDYtMy44ODk0IDAuNDU4LTYuNjY3NSAxLjIzNy04LjMzNDR6bTM1Ljc3IDI5LjYxNjhjLTQuODQ2IDAtOC42NzItMS43MDg1LTExLjQ3OC01LjEyNTUtMi43ODMtMy40NDAyLTQuMTc0LTguMzAwMi00LjE3NC0xNC41ODAxIDAtNi4zNzIzIDEuMjY0LTExLjM0NzggMy43OTEtMTQuOTI2NCAyLjUyOC0zLjU3ODcgNi4wNTItNS4zNjggMTAuNTc0LTUuMzY4IDQuMjIgMCA3LjU0OCAxLjUzNTQgOS45ODMgNC42MDYxIDIuNDM1IDMuMDQ3NiAzLjY1MiA3LjMzMDQgMy42NTIgMTIuODQ4NHY1LjA0NTVoLTE4LjVjMC4wNyAzLjQ0MDEgMC42NjggNS44NzUyIDIuMDEzIDcuNTYwNiAxLjM0NSAxLjY2MjMgMy4yIDIuNDkzNSA1LjU2NSAyLjQ5MzUgMy4wMTUgMCA2LjA5OS0wLjkzNTEgOS4yNTItMi44MDUydjcuNTg0NGMtMi45NjggMS43Nzc4LTYuNTI3IDIuNjY2Ny0xMC42NzggMi42NjY3em0tMS4zNTYtMzIuOTAwNGMtMS4zMjIgMC0yLjQxMiAwLjcwNDItMy4yNyAyLjExMjUtMC44NTggMS4zODUzLTEuMzg3IDMuODU1Ny0xLjUyNiA2Ljc4NzloOS41Yy0wLjA0Ni0yLjgxNjctMC41NTQtNS4yNjQxLTEuMzY1LTYuNzE4Ni0wLjgxMi0xLjQ1NDYtMS45MjUtMi4xODE4LTMuMzM5LTIuMTgxOHptMzYuMjA0IDguOTAwNHYyM2g5di0yNC44MDA5YzAtNC42NDAyLTAuODc3LTguMTY2OC0yLjYzMi0xMC41Nzk3LTEuNzMxLTIuNDEyOS00LjM1Mi0zLjYxOTQtNy44NjEtMy42MTk0LTIuMDc3IDAtMy44OSAwLjUxMDQtNS40MzcgMS41MzEzLTEuNTQ2IDAuOTk3Ni0yLjczOSAyLjY4MjItMy41NyA0LjQ2ODdoLTAuNWwtMS4yNS01aC03LjI1djM4aDkuNXYtMTguMjVjMC00LjcwOTggMC4xNzMtNy45MTk4IDEuMDk3LTkuODkxOCAwLjkyMy0xLjk5NTQgMi4zNzctMi45OTMgNC4zNjMtMi45OTMgMS41IDAgMi41ODYgMC43MTkyIDMuMjU1IDIuMTU3NyAwLjY3IDEuNDM4NSAxLjI4NSAzLjE2OTggMS4yODUgNS45NzcxeiIgY2xpcC1ydWxlPSJldmVub2RkIiBmaWxsPSIjMDBBM0UwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz4KPC9zdmc+" spec: definition: title: "OpenSearch Search Source" description: Search data on OpenSearch. required: - query - clusterName - indexName - hostAddresses type: object properties: period: title: Period description: The time interval between two searches type: integer default: 1000 query: title: Query description: The query we want to use to search on OpenSearch. type: string user: title: Username description: Username to connect to OpenSearch. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to connect to OpenSearch. type: string format: password x-descriptors: - urn:camel:group:credentials enableSSL: title: Enable SSL description: Do we want to connect using SSL? type: boolean default: false hostAddresses: title: Host Addresses description: Comma separated list with ip:port formatted remote transport addresses to use. type: string indexName: title: Index in OpenSearch description: The name of the index to act against. type: string clusterName: title: OpenSearch Cluster Name description: The name of the cluster. type: string certificate: title: Certificate description: The Certificate for accessing the Opensearch cluster. You must encode this value in base64. type: string types: out: mediaType: application/json dependencies: - "camel:core" - "camel:kamelet" - "camel:timer" - "camel:opensearch" - "camel:gson" template: beans: - name: local-opensearch type: "#class:org.apache.camel.component.opensearch.OpensearchComponent" properties: user: "{{?user}}" password: "{{?password}}" from: uri: timer:tick parameters: period: "{{period}}" steps: - setBody: constant: "{{query?nested=false}}" - to: uri: "{{local-opensearch}}:{{clusterName}}" parameters: operation: "SEARCH" indexName: "{{indexName}}" hostAddresses: "{{hostAddresses}}" enableSSL: "{{enableSSL}}" certificatePath: "base64:{{?certificate}}" - marshal: json: library: Gson - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: oracle-database-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTI1NiwzMUMxMzEuNywzMSwzMSw2Mi41LDMxLDEwMS4zdjU2LjJjMCwzOC44LDEwMC43LDcwLjMsMjI1LDcwLjNzMjI1LTMxLjUsMjI1LTcwLjN2LTU2LjJDNDgxLDYyLjUsMzgwLjMsMzEsMjU2LDMxeiIvPgoJPHBhdGggZD0iTTI1NiwyNzAuMWMtMTI0LjMsMC0yMjUtMzEuNS0yMjUtNzAuM3Y4NC40YzAsMzguOCwxMDAuNyw3MC4zLDIyNSw3MC4zczIyNS0zMS41LDIyNS03MC4zdi04NC40CgkJQzQ4MSwyMzguNiwzODAuMywyNzAuMSwyNTYsMjcwLjF6Ii8+Cgk8cGF0aCBkPSJNMjU2LDM5Ni42Yy0xMjQuMywwLTIyNS0zMS41LTIyNS03MC4zdjg0LjRjMCwzOC44LDEwMC43LDcwLjMsMjI1LDcwLjNzMjI1LTMxLjUsMjI1LTcwLjN2LTg0LjQKCQlDNDgxLDM2NS4yLDM4MC4zLDM5Ni42LDI1NiwzOTYuNnoiLz4KPC9nPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Oracle Database Sink" description: Send data to an Oracle Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 1521 username: title: Username description: The username to access a secured Oracle Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured Oracle Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the Oracle Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the Oracle Database. type: string types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-oracle-sink type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:oracle:thin:@{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'oracle.jdbc.driver.OracleDriver' from: uri: "kamelet:source" steps: - unmarshal: json: library: Jackson - to: uri: "{{local-sql-oracle-sink}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: oracle-database-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIyLjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IgoJIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+CjxnPgoJPHBhdGggZD0iTTI1NiwzMUMxMzEuNywzMSwzMSw2Mi41LDMxLDEwMS4zdjU2LjJjMCwzOC44LDEwMC43LDcwLjMsMjI1LDcwLjNzMjI1LTMxLjUsMjI1LTcwLjN2LTU2LjJDNDgxLDYyLjUsMzgwLjMsMzEsMjU2LDMxeiIvPgoJPHBhdGggZD0iTTI1NiwyNzAuMWMtMTI0LjMsMC0yMjUtMzEuNS0yMjUtNzAuM3Y4NC40YzAsMzguOCwxMDAuNyw3MC4zLDIyNSw3MC4zczIyNS0zMS41LDIyNS03MC4zdi04NC40CgkJQzQ4MSwyMzguNiwzODAuMywyNzAuMSwyNTYsMjcwLjF6Ii8+Cgk8cGF0aCBkPSJNMjU2LDM5Ni42Yy0xMjQuMywwLTIyNS0zMS41LTIyNS03MC4zdjg0LjRjMCwzOC44LDEwMC43LDcwLjMsMjI1LDcwLjNzMjI1LTMxLjUsMjI1LTcwLjN2LTg0LjQKCQlDNDgxLDM2NS4yLDM4MC4zLDM5Ni42LDI1NiwzOTYuNnoiLz4KPC9nPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Oracle Database Source" description: Query data from an Oracle Database. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 1521 username: title: Username description: The username to access a secured Oracle Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured Oracle Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the Oracle Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the Oracle Database. type: string consumedQuery: title: Consumed Query description: A query to run on a tuple consumed. type: string example: 'DELETE FROM accounts where user_id = :#user_id' types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-oracle-source type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:oracle:thin:@{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'oracle.jdbc.driver.OracleDriver' from: uri: "{{local-sql-oracle-source}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" onConsume: "{{?consumedQuery}}" steps: - marshal: json: library: Jackson - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: pdf-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iaXNvLTg4NTktMSI/Pg0KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE5LjAuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIGlkPSJMYXllcl8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCINCgkgdmlld0JveD0iMCAwIDMwMy4xODggMzAzLjE4OCIgc3R5bGU9ImVuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgMzAzLjE4OCAzMDMuMTg4OyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8cG9seWdvbiBzdHlsZT0iZmlsbDojRThFOEU4OyIgcG9pbnRzPSIyMTkuODIxLDAgMzIuODQyLDAgMzIuODQyLDMwMy4xODggMjcwLjM0NiwzMDMuMTg4IDI3MC4zNDYsNTAuNTI1IAkiLz4NCgk8cGF0aCBzdHlsZT0iZmlsbDojRkIzNDQ5OyIgZD0iTTIzMC4wMTMsMTQ5LjkzNWMtMy42NDMtNi40OTMtMTYuMjMxLTguNTMzLTIyLjAwNi05LjQ1MWMtNC41NTItMC43MjQtOS4xOTktMC45NC0xMy44MDMtMC45MzYNCgkJYy0zLjYxNS0wLjAyNC03LjE3NywwLjE1NC0xMC42OTMsMC4zNTRjLTEuMjk2LDAuMDg3LTIuNTc5LDAuMTk5LTMuODYxLDAuMzFjLTEuMzE0LTEuMzYtMi41ODQtMi43NjUtMy44MTMtNC4yMDINCgkJYy03LjgyLTkuMjU3LTE0LjEzNC0xOS43NTUtMTkuMjc5LTMwLjY2NGMxLjM2Ni01LjI3MSwyLjQ1OS0xMC43NzIsMy4xMTktMTYuNDg1YzEuMjA1LTEwLjQyNywxLjYxOS0yMi4zMS0yLjI4OC0zMi4yNTENCgkJYy0xLjM0OS0zLjQzMS00Ljk0Ni03LjYwOC05LjA5Ni01LjUyOGMtNC43NzEsMi4zOTItNi4xMTMsOS4xNjktNi41MDIsMTMuOTczYy0wLjMxMywzLjg4My0wLjA5NCw3Ljc3NiwwLjU1OCwxMS41OTQNCgkJYzAuNjY0LDMuODQ0LDEuNzMzLDcuNDk0LDIuODk3LDExLjEzOWMxLjA4NiwzLjM0MiwyLjI4Myw2LjY1OCwzLjU4OCw5Ljk0M2MtMC44MjgsMi41ODYtMS43MDcsNS4xMjctMi42Myw3LjYwMw0KCQljLTIuMTUyLDUuNjQzLTQuNDc5LDExLjAwNC02LjcxNywxNi4xNjFjLTEuMTgsMi41NTctMi4zMzUsNS4wNi0zLjQ2NSw3LjUwN2MtMy41NzYsNy44NTUtNy40NTgsMTUuNTY2LTExLjgxNSwyMy4wMg0KCQljLTEwLjE2MywzLjU4NS0xOS4yODMsNy43NDEtMjYuODU3LDEyLjYyNWMtNC4wNjMsMi42MjUtNy42NTIsNS40NzYtMTAuNjQxLDguNjAzYy0yLjgyMiwyLjk1Mi01LjY5LDYuNzgzLTUuOTQxLDExLjAyNA0KCQljLTAuMTQxLDIuMzk0LDAuODA3LDQuNzE3LDIuNzY4LDYuMTM3YzIuNjk3LDIuMDE1LDYuMjcxLDEuODgxLDkuNCwxLjIyNWMxMC4yNS0yLjE1LDE4LjEyMS0xMC45NjEsMjQuODI0LTE4LjM4Nw0KCQljNC42MTctNS4xMTUsOS44NzItMTEuNjEsMTUuMzY5LTE5LjQ2NWMwLjAxMi0wLjAxOCwwLjAyNC0wLjAzNiwwLjAzNy0wLjA1NGM5LjQyOC0yLjkyMywxOS42ODktNS4zOTEsMzAuNTc5LTcuMjA1DQoJCWM0Ljk3NS0wLjgyNSwxMC4wODItMS41LDE1LjI5MS0xLjk3NGMzLjY2MywzLjQzMSw3LjYyMSw2LjU1NSwxMS45MzksOS4xNjRjMy4zNjMsMi4wNjksNi45NCwzLjgxNiwxMC42ODQsNS4xMTkNCgkJYzMuNzg2LDEuMjM3LDcuNTk1LDIuMjQ3LDExLjUyOCwyLjg4NmMxLjk4NiwwLjI4NCw0LjAxNywwLjQxMyw2LjA5MiwwLjMzNWM0LjYzMS0wLjE3NSwxMS4yNzgtMS45NTEsMTEuNzE0LTcuNTcNCgkJQzIzMS4xMjcsMTUyLjc2NSwyMzAuNzU2LDE1MS4yNTcsMjMwLjAxMywxNDkuOTM1eiBNMTE5LjE0NCwxNjAuMjQ1Yy0yLjE2OSwzLjM2LTQuMjYxLDYuMzgyLTYuMjMyLDkuMDQxDQoJCWMtNC44MjcsNi41NjgtMTAuMzQsMTQuMzY5LTE4LjMyMiwxNy4yODZjLTEuNTE2LDAuNTU0LTMuNTEyLDEuMTI2LTUuNjE2LDEuMDAyYy0xLjg3NC0wLjExLTMuNzIyLTAuOTM3LTMuNjM3LTMuMDY1DQoJCWMwLjA0Mi0xLjExNCwwLjU4Ny0yLjUzNSwxLjQyMy0zLjkzMWMwLjkxNS0xLjUzMSwyLjA0OC0yLjkzNSwzLjI3NS00LjIyNmMyLjYyOS0yLjc2Miw1Ljk1My01LjQzOSw5Ljc3Ny03LjkxOA0KCQljNS44NjUtMy44MDUsMTIuODY3LTcuMjMsMjAuNjcyLTEwLjI4NkMxMjAuMDM1LDE1OC44NTgsMTE5LjU4NywxNTkuNTY0LDExOS4xNDQsMTYwLjI0NXogTTE0Ni4zNjYsNzUuOTg1DQoJCWMtMC42MDItMy41MTQtMC42OTMtNy4wNzctMC4zMjMtMTAuNTAzYzAuMTg0LTEuNzEzLDAuNTMzLTMuMzg1LDEuMDM4LTQuOTUyYzAuNDI4LTEuMzMsMS4zNTItNC41NzYsMi44MjYtNC45OTMNCgkJYzIuNDMtMC42ODgsMy4xNzcsNC41MjksMy40NTIsNi4wMDVjMS41NjYsOC4zOTYsMC4xODYsMTcuNzMzLTEuNjkzLDI1Ljk2OWMtMC4yOTksMS4zMS0wLjYzMiwyLjU5OS0wLjk3MywzLjg4Mw0KCQljLTAuNTgyLTEuNjAxLTEuMTM3LTMuMjA3LTEuNjQ4LTQuODIxQzE0Ny45NDUsODMuMDQ4LDE0Ni45MzksNzkuNDgyLDE0Ni4zNjYsNzUuOTg1eiBNMTYzLjA0OSwxNDIuMjY1DQoJCWMtOS4xMywxLjQ4LTE3LjgxNSwzLjQxOS0yNS45NzksNS43MDhjMC45ODMtMC4yNzUsNS40NzUtOC43ODgsNi40NzctMTAuNTU1YzQuNzIxLTguMzE1LDguNTgzLTE3LjA0MiwxMS4zNTgtMjYuMTk3DQoJCWM0LjksOS42OTEsMTAuODQ3LDE4Ljk2MiwxOC4xNTMsMjcuMjE0YzAuNjczLDAuNzQ5LDEuMzU3LDEuNDg5LDIuMDUzLDIuMjJDMTcxLjAxNywxNDEuMDk2LDE2Ni45ODgsMTQxLjYzMywxNjMuMDQ5LDE0Mi4yNjV6DQoJCSBNMjI0Ljc5MywxNTMuOTU5Yy0wLjMzNCwxLjgwNS00LjE4OSwyLjgzNy01Ljk4OCwzLjEyMWMtNS4zMTYsMC44MzYtMTAuOTQsMC4xNjctMTYuMDI4LTEuNTQyDQoJCWMtMy40OTEtMS4xNzItNi44NTgtMi43NjgtMTAuMDU3LTQuNjg4Yy0zLjE4LTEuOTIxLTYuMTU1LTQuMTgxLTguOTM2LTYuNjczYzMuNDI5LTAuMjA2LDYuOS0wLjM0MSwxMC4zODgtMC4yNzUNCgkJYzMuNDg4LDAuMDM1LDcuMDAzLDAuMjExLDEwLjQ3NSwwLjY2NGM2LjUxMSwwLjcyNiwxMy44MDcsMi45NjEsMTguOTMyLDcuMTg2QzIyNC41ODgsMTUyLjU4NSwyMjQuOTEsMTUzLjMyMSwyMjQuNzkzLDE1My45NTl6Ii8+DQoJPHBvbHlnb24gc3R5bGU9ImZpbGw6I0ZCMzQ0OTsiIHBvaW50cz0iMjI3LjY0LDI1LjI2MyAzMi44NDIsMjUuMjYzIDMyLjg0MiwwIDIxOS44MjEsMCAJIi8+DQoJPGc+DQoJCTxwYXRoIHN0eWxlPSJmaWxsOiNBNEE5QUQ7IiBkPSJNMTI2Ljg0MSwyNDEuMTUyYzAsNS4zNjEtMS41OCw5LjUwMS00Ljc0MiwxMi40MjFjLTMuMTYyLDIuOTIxLTcuNjUyLDQuMzgxLTEzLjQ3Miw0LjM4MWgtMy42NDMNCgkJCXYxNS45MTdIOTIuMDIydi00Ny45NzloMTYuNjA2YzYuMDYsMCwxMC42MTEsMS4zMjQsMTMuNjUyLDMuOTcxQzEyNS4zMjEsMjMyLjUxLDEyNi44NDEsMjM2LjI3MywxMjYuODQxLDI0MS4xNTJ6DQoJCQkgTTEwNC45ODUsMjQ3LjM4N2gyLjM2M2MxLjk0NywwLDMuNDk1LTAuNTQ2LDQuNjQ0LTEuNjQxYzEuMTQ5LTEuMDk0LDEuNzIzLTIuNjA0LDEuNzIzLTQuNTI5YzAtMy4yMzgtMS43OTQtNC44NTctNS4zODItNC44NTcNCgkJCWgtMy4zNDhDMTA0Ljk4NSwyMzYuMzYsMTA0Ljk4NSwyNDcuMzg3LDEwNC45ODUsMjQ3LjM4N3oiLz4NCgkJPHBhdGggc3R5bGU9ImZpbGw6I0E0QTlBRDsiIGQ9Ik0xNzUuMjE1LDI0OC44NjRjMCw4LjAwNy0yLjIwNSwxNC4xNzctNi42MTMsMTguNTA5cy0xMC42MDYsNi40OTgtMTguNTkxLDYuNDk4aC0xNS41MjN2LTQ3Ljk3OQ0KCQkJaDE2LjYwNmM3LjcwMSwwLDEzLjY0NiwxLjk2OSwxNy44MzYsNS45MDdDMTczLjExOSwyMzUuNzM3LDE3NS4yMTUsMjQxLjQyNiwxNzUuMjE1LDI0OC44NjR6IE0xNjEuNzYsMjQ5LjMyNA0KCQkJYzAtNC4zOTgtMC44Ny03LjY1Ny0yLjYwOS05Ljc4Yy0xLjczOS0yLjEyMi00LjM4MS0zLjE4My03LjkyNi0zLjE4M2gtMy43NzN2MjYuODc3aDIuODg4YzMuOTM5LDAsNi44MjYtMS4xNDMsOC42NjQtMy40Mw0KCQkJQzE2MC44NDEsMjU3LjUyMywxNjEuNzYsMjU0LjAyOCwxNjEuNzYsMjQ5LjMyNHoiLz4NCgkJPHBhdGggc3R5bGU9ImZpbGw6I0E0QTlBRDsiIGQ9Ik0xOTYuNTc5LDI3My44NzFoLTEyLjc2NnYtNDcuOTc5aDI4LjM1NXYxMC40MDNoLTE1LjU4OXY5LjE1NmgxNC4zNzR2MTAuNDAzaC0xNC4zNzQNCgkJCUwxOTYuNTc5LDI3My44NzFMMTk2LjU3OSwyNzMuODcxeiIvPg0KCTwvZz4NCgk8cG9seWdvbiBzdHlsZT0iZmlsbDojRDFEM0QzOyIgcG9pbnRzPSIyMTkuODIxLDUwLjUyNSAyNzAuMzQ2LDUwLjUyNSAyMTkuODIxLDAgCSIvPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPGc+DQo8L2c+DQo8Zz4NCjwvZz4NCjxnPg0KPC9nPg0KPC9zdmc+DQo=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "PDF" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "PDF Action" description: Create a PDF. required: - font - fontSize - pageSize type: object properties: font: title: Font description: The font to use while generating the PDF. One of Courier, Courier-Bold, Courier-Oblique, Courier-BoldOblique, Helvetica, Helvetica-Bold, Helvetica-Oblique, Helvetica-BoldOblique, Times-Roman, Times-Bold, Times-Italic, Times-BoldItalic, Symbol, ZapfDingbats type: string default: Helvetica fontSize: title: Font Size description: The Font size to use while generating the PDF type: string default: 14.0 pageSize: title: Page Size description: The Page size to use while generating the PDF. One of LETTER, LEGAL, A0, A1, A2, A3, A4, A5, A6 type: string default: A4 dependencies: - "camel:pdf" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "pdf://create" parameters: font: "{{font}}" fontSize: "{{fontSize}}" pageSize: "{{pageSize}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: postgresql-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+UG9zdGdyZVNRTCBpY29uPC90aXRsZT48cGF0aCBkPSJNMTcuMTI4IDBhMTAuMTM0IDEwLjEzNCAwIDAgMC0yLjc1NS40MDNsLS4wNjMuMDJBMTAuOTIyIDEwLjkyMiAwIDAgMCAxMi42LjI1OEMxMS40MjIuMjM4IDEwLjQxLjUyNCA5LjU5NCAxIDguNzkuNzIxIDcuMTIyLjI0IDUuMzY0LjMzNiA0LjE0LjQwMyAyLjgwNC43NzUgMS44MTQgMS44Mi44MjcgMi44NjUuMzA1IDQuNDgyLjQxNSA2LjY4MmMuMDMuNjA3LjIwMyAxLjU5Ny40OSAyLjg3OXMuNjkgMi43ODMgMS4xOTMgNC4xNTJjLjUwMyAxLjM3IDEuMDU0IDIuNiAxLjkxNSAzLjQzNi40My40MTkgMS4wMjIuNzcxIDEuNzIuNzQyLjQ5LS4wMi45MzMtLjIzNSAxLjMxNS0uNTUyLjE4Ni4yNDUuMzg1LjM1Mi41NjYuNDUxLjIyOC4xMjUuNDUuMjEuNjguMjY2LjQxMy4xMDMgMS4xMi4yNDEgMS45NDguMS4yODItLjA0Ny41NzktLjEzOS44NzUtLjI3LjAxMS4zMy4wMjQuNjUzLjAzNy45OC4wNDEgMS4wMzYuMDY3IDEuOTkzLjM3OCAyLjgzMi4wNS4xMzcuMTg3Ljg0My43MjcgMS40NjYuNTQuNjI0IDEuNTk4IDEuMDEzIDIuODAzLjc1NS44NS0uMTgyIDEuOTMxLS41MSAyLjY0OS0xLjUzMi43MS0xLjAxIDEuMDMtMi40NTkgMS4wOTMtNC44MDkuMDE2LS4xMjcuMDM1LS4yMzUuMDU1LS4zMzZsLjE2OS4wMTVoLjAyYy45MDcuMDQxIDEuODkxLS4wODggMi43MTMtLjQ3LjcyOC0uMzM3IDEuMjc5LS42NzggMS42OC0xLjI4My4xLS4xNS4yMS0uMzMxLjI0LS42NDNzLS4xNDktLjgtLjQ0Ni0xLjAyNWMtLjU5NS0uNDUyLS45NjktLjI4LTEuMzctLjE5N2E2LjI3IDYuMjcgMCAwIDEtMS4yMDIuMTQ2YzEuMTU2LTEuOTQ3IDEuOTg1LTQuMDE1IDIuNDU4LTUuODQ1LjI4LTEuMDguNDM3LTIuMDc2LjQ1LTIuOTQ3LjAxMy0uODcxLS4wNTgtMS42NDItLjU4LTIuMzA5QzIxLjM2LjYgMTkuMDY3LjAyNCAxNy4yOTMuMDA0Yy0uMDU1LS4wMDEtLjExLS4wMDItLjE2NS0uMDAxem0tLjA0Ny42NGMxLjY3OC0uMDE2IDMuODIyLjQ1NSA1LjM2MSAyLjQyMi4zNDYuNDQyLjQ0OSAxLjA4OC40MzcgMS44ODQtLjAxMy43OTUtLjE2IDEuNzQ3LS40MjkgMi43OS0uNTIyIDIuMDItMS41MDggNC4zNzUtMi44OTcgNi40ODhhLjc1Ni43NTYgMCAwIDAgLjE1OC4wODZjLjI5LjEyLjk1MS4yMjMgMi4yNy0uMDQ4LjMzMi0uMDcuNTc1LS4xMTcuODI3LjA3NWEuNTIuNTIgMCAwIDEgLjE4My40MjUuNzA0LjcwNCAwIDAgMS0uMTMuMzM2Yy0uMjU1LjM4My0uNzU4Ljc0Ni0xLjQwMyAxLjA0NS0uNTcxLjI2Ni0xLjM5LjQwNS0yLjExNi40MTMtLjM2NC4wMDQtLjctLjAyNC0uOTg1LS4xMTNsLS4wMTgtLjAwN2MtLjExIDEuMDYtLjM2MyAzLjE1My0uNTI4IDQuMTA4LS4xMzIuNzctLjM2MyAxLjM4Mi0uODA0IDEuODQtLjQ0LjQ1OC0xLjA2My43MzQtMS45MDEuOTE0LTEuMDM4LjIyMy0xLjc5NS0uMDE3LTIuMjgzLS40MjgtLjQ4Ny0uNDEtLjcxLS45NTQtLjg0NC0xLjI4Ny0uMDkyLS4yMy0uMTQtLjUyOC0uMTg2LS45MjYtLjA0Ni0uMzk4LS4wOC0uODg1LS4xMDMtMS40MzRhNTEuNDI2IDUxLjQyNiAwIDAgMS0uMDMtMi41MjMgMy4wNjEgMy4wNjEgMCAwIDEtMS41NTIuNzZjLS42ODkuMTE3LTEuMzA0LjAwMi0xLjY3MS0uMDlhMi4yNzYgMi4yNzYgMCAwIDEtLjUyLS4yMDFjLS4xNy0uMDkxLS4zMzItLjE5NC0uNDQtLjM5N2EuNTYuNTYgMCAwIDEtLjA1Ny0uMzgxLjYxLjYxIDAgMCAxIC4yMTgtLjMzMWMuMTk4LS4xNjEuNDYtLjI1MS44NTUtLjMzMy43MTktLjE0OC45Ny0uMjQ5IDEuMTIzLS4zNy4xMy0uMTA0LjI3Ny0uMzE0LjUzNy0uNjIyYTEuMTYgMS4xNiAwIDAgMS0uMDAzLS4wNDEgMi45NiAyLjk2IDAgMCAxLTEuMzMtLjM1OGMtLjE1LjE1OC0uOTE2Ljk2OC0xLjg1IDIuMDkyLS4zOTMuNDctLjgyNy43NC0xLjI4NS43NTktLjQ1OC4wMi0uODcyLS4yMTEtMS4yMjQtLjU1Mi0uNzAzLS42ODMtMS4yNjQtMS44NTgtMS43NTMtMy4xODYtLjQ4OC0xLjMyOC0uODg1LTIuODA3LTEuMTY3LTQuMDY3LS4yODMtMS4yNi0uNDUtMi4yNzYtLjQ3NC0yLjc2Ni0uMTA1LTIuMDgyLjM4Mi0zLjQ4NSAxLjIxNy00LjM3LjgzNi0uODg1IDEuOTgyLTEuMjIgMy4wOTktMS4yODQgMi4wMDUtLjExNSAzLjkwOS41ODQgNC4yOTQuNzM0Ljc0Mi0uNTA0IDEuNjk4LS44MTggMi44OTItLjc5OGE3LjM5IDcuMzkgMCAwIDEgMS42ODEuMjE4bC4wMi0uMDA5YTYuODU0IDYuODU0IDAgMCAxIC43MzktLjIxNEE5LjYyNiA5LjYyNiAwIDAgMSAxNy4wOC42NDJ6bS4xNTIuNjdoLS4xNDZhOC43NCA4Ljc0IDAgMCAwLTEuNzA0LjE5MmMxLjI0Ni41NTIgMi4xODcgMS40MDIgMi44NSAyLjI1YTguNDQgOC40NCAwIDAgMSAxLjEzMiAxLjkyYy4xMS4yNjQuMTg0LjQ4Ny4yMjYuNjYuMDIxLjA4Ny4wMzUuMTYuMDQuMjM2LjAwMi4wMzguMDA0LjA3Ny0uMDEyLjE0NCAwIC4wMDMtLjAwNS4wMS0uMDA2LjAxMy4wMy44NzYtLjE4NyAxLjQ3LS4yMTMgMi4zMDYtLjAyLjYwNi4xMzUgMS4zMTguMTczIDIuMDk1LjAzNi43My0uMDUyIDEuNTMyLS41MjYgMi4zMTkuMDQuMDQ4LjA3Ni4wOTYuMTE0LjE0NCAxLjI1NC0xLjk3NSAyLjE1OC00LjE2IDIuNjQtNi4wMjMuMjU4LTEuMDAzLjM5NS0xLjkxMi40MDctMi42MzIuMDEtLjcyLS4xMjQtMS4yNDItLjI5NS0xLjQ2LTEuMzQyLTEuNzE2LTMuMTU4LTIuMTUzLTQuNjgtMi4xNjV6bS00Ljc5LjI1NmMtMS4xODIuMDAzLTIuMDMuMzYtMi42NzMuODk1LS42NjMuNTUzLTEuMTA4IDEuMzEtMS40IDIuMDg1LS4zNDcuOTItLjQ2NiAxLjgxLS41MTMgMi40MTRsLjAxMy0uMDA4Yy4zNTctLjIuODI2LS40IDEuMzI4LS41MTYuNTAyLS4xMTUgMS4wNDMtLjE1MSAxLjUzMy4wMzlzLjg5NS42MzcgMS4wNDIgMS4zMTVjLjcwNCAzLjI1Ny0uMjE5IDQuNDY4LS41NTkgNS4zODJhOS42MSA5LjYxIDAgMCAwLS4zMzEgMS4wMTNjLjA0My0uMDEuMDg2LS4wMjIuMTI5LS4wMjYuMjQtLjAyLjQyOC4wNi41NC4xMDguMzQyLjE0Mi41NzcuNDQuNzA0Ljc4LjAzMy4wODkuMDU3LjE4NS4wNzEuMjg0YS4zMzYuMzM2IDAgMCAxIC4wMi4xMjcgNTUuMTQgNTUuMTQgMCAwIDAgLjAxMyAzLjczOGMuMDIzLjUzOC4wNTcgMS4wMTIuMSAxLjM4Ni4wNDMuMzczLjEwNC42NTcuMTQzLjc1My4xMjguMzIuMzE1LjczOS42NTMgMS4wMjQuMzM4LjI4NC44MjMuNDc0IDEuNzA5LjI4NC43NjgtLjE2NSAxLjI0Mi0uMzk0IDEuNTU5LS43MjMuMzE2LS4zMjkuNTA1LS43ODcuNjI2LTEuNDg4LjE4MS0xLjA1LjU0NS00LjA5NS41ODktNC42NjgtLjAyLS40MzIuMDQ0LS43NjQuMTgyLTEuMDE3LjE0Mi0uMjYuMzYyLS40MTkuNTUyLS41MDUuMDk1LS4wNDMuMTg0LS4wNzIuMjU3LS4wOTNhNS45NTYgNS45NTYgMCAwIDAtLjI0My0uMzI1IDQuNDU2IDQuNDU2IDAgMCAxLS42NjYtMS4wOTkgOC4yOTYgOC4yOTYgMCAwIDAtLjI1Ny0uNDgzYy0uMTMzLS4yNC0uMzAxLS41NC0uNDc3LS44NzctLjM1Mi0uNjc1LS43MzUtMS40OTMtLjkzNC0yLjI5LS4xOTgtLjc5Ni0uMjI3LTEuNjIuMjgxLTIuMjAxLjQ1LS41MTYgMS4yNC0uNzMgMi40MjYtLjYxLS4wMzUtLjEwNS0uMDU2LS4xOTItLjExNS0uMzMyYTcuODE3IDcuODE3IDAgMCAwLTEuMDQxLTEuNzY0Yy0xLjAwNS0xLjI4NS0yLjYzMi0yLjU1OS01LjE0Ni0yLjZoLS4xMTV6bS02LjY0Mi4wNTJjLS4xMjcgMC0uMjU0LjAwNC0uMzguMDExLTEuMDEuMDU4LTEuOTY1LjM1MS0yLjY0OCAxLjA3NS0uNjg0LjcyNC0xLjEzNCAxLjkxMS0xLjAzNiAzLjg3Ni4wMTkuMzcyLjE4MSAxLjQxNC40NTkgMi42NTIuMjc3IDEuMjM4LjY3IDIuNjk1IDEuMTQyIDMuOTgyLjQ3MyAxLjI4NyAxLjA0NiAyLjQwNyAxLjU5IDIuOTM3LjI3NC4yNjUuNTEyLjM3Mi43MjguMzYzLjIxNy0uMDEuNDc4LS4xMzUuNzk3LS41MThhNDMuMjQ0IDQzLjI0NCAwIDAgMSAxLjgxLTIuMDQ4IDMuNDk3IDMuNDk3IDAgMCAxLTEuMTY3LTMuMTVjLjEwMy0uNzM5LjExNy0xLjQzLjEwNS0xLjk3Ni0uMDEyLS41MzItLjA1LS44ODYtLjA1LTEuMTA3YS4zMzYuMzM2IDAgMCAxIDAtLjAxOXYtLjAwNWwtLjAwMS0uMDA2di0uMDAxYTkuODkzIDkuODkzIDAgMCAxIC41OTItMy4zNzZjLjI4LS43NDQuNjk3LTEuNSAxLjMyMi0yLjExMi0uNjE0LS4yMDItMS43MDQtLjUxLTIuODg0LS41NjhhNy42MDMgNy42MDMgMCAwIDAtLjM4LS4wMXpNMTguMTk5IDYuOWMtLjY3OS4wMDktMS4wNi4xODQtMS4yNi40MTMtLjI4My4zMjUtLjMxLjg5NS0uMTM0IDEuNTk3LjE3NS43MDMuNTM3IDEuNDg5Ljg3NyAyLjE0Mi4xNy4zMjcuMzM1LjYyMS40NjguODYuMTM0LjI0LjIzMi40MS4yOTIuNTU1LjA1NS4xMzQuMTE2LjI1Mi4xNzguMzYyLjI2My0uNTU1LjMxLTEuMS4yODMtMS42NjgtLjAzNS0uNzAzLS4xOTgtMS40MjItLjE3NC0yLjE1LjAyNy0uODUxLjE5NS0xLjQwNS4yMS0yLjA2M2E1Ljc5MyA1Ljc5MyAwIDAgMC0uNzQtLjA0OHptLTguMjM0LjExNWEyLjgyIDIuODIgMCAwIDAtLjYxNi4wNzQgNC42NjUgNC42NjUgMCAwIDAtMS4xNTMuNDQ5IDIuNDE3IDIuNDE3IDAgMCAwLS4zNDkuMjI4bC0uMDIyLjAyYy4wMDYuMTQ2LjAzNS41LjA0NyAxLjAyMS4wMTIuNTctLjAwMiAxLjI5Ny0uMTEyIDIuMDg0LS4yMzkgMS43MSAxLjAwMiAzLjEyNiAyLjQ2IDMuMTI4LjA4NS0uMzUxLjIyNS0uNzA3LjM2NS0xLjA4Mi40MDYtMS4wOTQgMS4yMDUtMS44OTIuNTMyLTUuMDA2LS4xMS0uNTEtLjMyOC0uNzE2LS42MjgtLjgzMmExLjQ3NCAxLjQ3NCAwIDAgMC0uNTI0LS4wODR6bTcuOTE3LjIwNGguMDVjLjA2Ni4wMDIuMTI3LjAwOS4xOC4wMjIuMDU0LjAxMi4xLjAzLjEzOC4wNTVhLjE2NC4xNjQgMCAwIDEgLjA3NS4xMWwtLjAwMS4wMDhoLjAwMS0uMDAxYS4yNC4yNCAwIDAgMS0uMDM1LjEzNS42NjguNjY4IDAgMCAxLS4xMS4xNS42NzcuNjc3IDAgMCAxLS4zODYuMjEyLjU5LjU5IDAgMCAxLS40MS0uMTAzLjYwOC42MDggMCAwIDEtLjEzLS4xMTguMjYuMjYgMCAwIDEtLjA2My0uMTI3LjE3LjE3IDAgMCAxIC4wNDItLjEyOC4zODQuMzg0IDAgMCAxIC4xMTctLjA5Yy4wOTYtLjA1NC4yMjYtLjA5NC4zNzMtLjExNi4wNTUtLjAwOC4xMDktLjAxMi4xNi0uMDEzem0tNy44Mi4xNjhjLjA1MyAwIC4xMDkuMDA1LjE2Ni4wMTMuMTUzLjAyMS4yODkuMDYyLjM5My4xMjJhLjQ0Ni40NDYgMCAwIDEgLjEzMy4xMDYuMjIzLjIyMyAwIDAgMSAuMDU0LjE3LjMwMi4zMDIgMCAwIDEtLjA3NS4xNTQuNjQ5LjY0OSAwIDAgMS0uMTQzLjEzLjY0LjY0IDAgMCAxLS40NDguMTEzLjcyOC43MjggMCAwIDEtLjQyLS4yMjguNzEuNzEgMCAwIDEtLjExOC0uMTY0LjI4LjI4IDAgMCAxLS4wNDEtLjE3N2MuMDE1LS4xMDguMTA0LS4xNjQuMTkxLS4xOTVhLjg2Ni44NjYgMCAwIDEgLjMwNy0uMDR6bTkuMDYgNy4zNDNsLS4wMDMuMDAxYy0uMTQ3LjA1My0uMjY4LjA3NS0uMzcuMTJhLjQ1Mi40NTIgMCAwIDAtLjIzOS4yMTRjLS4wNjMuMTE1LS4xMTcuMzE5LS4xMDEuNjY2YS41MS41MSAwIDAgMCAuMTQ4LjA3Yy4xNzEuMDUyLjQ1OC4wODYuNzc4LjA4MS42MzgtLjAwNyAxLjQyMy0uMTU2IDEuODQtLjM1YTMuOTUgMy45NSAwIDAgMCAuOTQzLS42MTVoLS4wMDFjLTEuMzkzLjI4OC0yLjE4LjIxMS0yLjY2My4wMTJhMS4zMTUgMS4zMTUgMCAwIDEtLjMzMi0uMnptLTguMDMxLjA5NGgtLjAyMWMtLjA1My4wMDUtLjEzLjAyMy0uMjc5LjE4OC0uMzQ4LjM5LS40Ny42MzUtLjc1Ny44NjQtLjI4Ny4yMjgtLjY2LjM1LTEuNDA1LjUwMy0uMjM2LjA0OC0uMzcxLjEwMS0uNDYxLjE0NC4wMjkuMDI0LjAyNi4wMy4wNy4wNTMuMTA5LjA2LjI0OS4xMTMuMzYyLjE0Mi4zMi4wOC44NDYuMTczIDEuMzk1LjA4LjU0OS0uMDk0IDEuMTItLjM1NyAxLjYwNy0xLjA0LjA4NC0uMTE4LjA5My0uMjkyLjAyNC0uNDc5LS4wNy0uMTg3LS4yMjMtLjM0OC0uMzMxLS4zOTNhLjY1My42NTMgMCAwIDAtLjIwNC0uMDZ6Ii8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "PostgreSQL Sink" description: Send data to a PostgreSQL Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 5432 username: title: Username description: The username to access a secured PostgreSQL Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured PostgreSQL Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the PostgreSQL Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the PostgreSQL Database. type: string types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.postgresql:postgresql:42.7.7" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-postgres-sink type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:postgresql://{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'org.postgresql.Driver' from: uri: "kamelet:source" steps: - unmarshal: json: library: Jackson - to: uri: "{{local-sql-postgres-sink}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: postgresql-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyByb2xlPSJpbWciIHZpZXdCb3g9IjAgMCAyNCAyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+UG9zdGdyZVNRTCBpY29uPC90aXRsZT48cGF0aCBkPSJNMTcuMTI4IDBhMTAuMTM0IDEwLjEzNCAwIDAgMC0yLjc1NS40MDNsLS4wNjMuMDJBMTAuOTIyIDEwLjkyMiAwIDAgMCAxMi42LjI1OEMxMS40MjIuMjM4IDEwLjQxLjUyNCA5LjU5NCAxIDguNzkuNzIxIDcuMTIyLjI0IDUuMzY0LjMzNiA0LjE0LjQwMyAyLjgwNC43NzUgMS44MTQgMS44Mi44MjcgMi44NjUuMzA1IDQuNDgyLjQxNSA2LjY4MmMuMDMuNjA3LjIwMyAxLjU5Ny40OSAyLjg3OXMuNjkgMi43ODMgMS4xOTMgNC4xNTJjLjUwMyAxLjM3IDEuMDU0IDIuNiAxLjkxNSAzLjQzNi40My40MTkgMS4wMjIuNzcxIDEuNzIuNzQyLjQ5LS4wMi45MzMtLjIzNSAxLjMxNS0uNTUyLjE4Ni4yNDUuMzg1LjM1Mi41NjYuNDUxLjIyOC4xMjUuNDUuMjEuNjguMjY2LjQxMy4xMDMgMS4xMi4yNDEgMS45NDguMS4yODItLjA0Ny41NzktLjEzOS44NzUtLjI3LjAxMS4zMy4wMjQuNjUzLjAzNy45OC4wNDEgMS4wMzYuMDY3IDEuOTkzLjM3OCAyLjgzMi4wNS4xMzcuMTg3Ljg0My43MjcgMS40NjYuNTQuNjI0IDEuNTk4IDEuMDEzIDIuODAzLjc1NS44NS0uMTgyIDEuOTMxLS41MSAyLjY0OS0xLjUzMi43MS0xLjAxIDEuMDMtMi40NTkgMS4wOTMtNC44MDkuMDE2LS4xMjcuMDM1LS4yMzUuMDU1LS4zMzZsLjE2OS4wMTVoLjAyYy45MDcuMDQxIDEuODkxLS4wODggMi43MTMtLjQ3LjcyOC0uMzM3IDEuMjc5LS42NzggMS42OC0xLjI4My4xLS4xNS4yMS0uMzMxLjI0LS42NDNzLS4xNDktLjgtLjQ0Ni0xLjAyNWMtLjU5NS0uNDUyLS45NjktLjI4LTEuMzctLjE5N2E2LjI3IDYuMjcgMCAwIDEtMS4yMDIuMTQ2YzEuMTU2LTEuOTQ3IDEuOTg1LTQuMDE1IDIuNDU4LTUuODQ1LjI4LTEuMDguNDM3LTIuMDc2LjQ1LTIuOTQ3LjAxMy0uODcxLS4wNTgtMS42NDItLjU4LTIuMzA5QzIxLjM2LjYgMTkuMDY3LjAyNCAxNy4yOTMuMDA0Yy0uMDU1LS4wMDEtLjExLS4wMDItLjE2NS0uMDAxem0tLjA0Ny42NGMxLjY3OC0uMDE2IDMuODIyLjQ1NSA1LjM2MSAyLjQyMi4zNDYuNDQyLjQ0OSAxLjA4OC40MzcgMS44ODQtLjAxMy43OTUtLjE2IDEuNzQ3LS40MjkgMi43OS0uNTIyIDIuMDItMS41MDggNC4zNzUtMi44OTcgNi40ODhhLjc1Ni43NTYgMCAwIDAgLjE1OC4wODZjLjI5LjEyLjk1MS4yMjMgMi4yNy0uMDQ4LjMzMi0uMDcuNTc1LS4xMTcuODI3LjA3NWEuNTIuNTIgMCAwIDEgLjE4My40MjUuNzA0LjcwNCAwIDAgMS0uMTMuMzM2Yy0uMjU1LjM4My0uNzU4Ljc0Ni0xLjQwMyAxLjA0NS0uNTcxLjI2Ni0xLjM5LjQwNS0yLjExNi40MTMtLjM2NC4wMDQtLjctLjAyNC0uOTg1LS4xMTNsLS4wMTgtLjAwN2MtLjExIDEuMDYtLjM2MyAzLjE1My0uNTI4IDQuMTA4LS4xMzIuNzctLjM2MyAxLjM4Mi0uODA0IDEuODQtLjQ0LjQ1OC0xLjA2My43MzQtMS45MDEuOTE0LTEuMDM4LjIyMy0xLjc5NS0uMDE3LTIuMjgzLS40MjgtLjQ4Ny0uNDEtLjcxLS45NTQtLjg0NC0xLjI4Ny0uMDkyLS4yMy0uMTQtLjUyOC0uMTg2LS45MjYtLjA0Ni0uMzk4LS4wOC0uODg1LS4xMDMtMS40MzRhNTEuNDI2IDUxLjQyNiAwIDAgMS0uMDMtMi41MjMgMy4wNjEgMy4wNjEgMCAwIDEtMS41NTIuNzZjLS42ODkuMTE3LTEuMzA0LjAwMi0xLjY3MS0uMDlhMi4yNzYgMi4yNzYgMCAwIDEtLjUyLS4yMDFjLS4xNy0uMDkxLS4zMzItLjE5NC0uNDQtLjM5N2EuNTYuNTYgMCAwIDEtLjA1Ny0uMzgxLjYxLjYxIDAgMCAxIC4yMTgtLjMzMWMuMTk4LS4xNjEuNDYtLjI1MS44NTUtLjMzMy43MTktLjE0OC45Ny0uMjQ5IDEuMTIzLS4zNy4xMy0uMTA0LjI3Ny0uMzE0LjUzNy0uNjIyYTEuMTYgMS4xNiAwIDAgMS0uMDAzLS4wNDEgMi45NiAyLjk2IDAgMCAxLTEuMzMtLjM1OGMtLjE1LjE1OC0uOTE2Ljk2OC0xLjg1IDIuMDkyLS4zOTMuNDctLjgyNy43NC0xLjI4NS43NTktLjQ1OC4wMi0uODcyLS4yMTEtMS4yMjQtLjU1Mi0uNzAzLS42ODMtMS4yNjQtMS44NTgtMS43NTMtMy4xODYtLjQ4OC0xLjMyOC0uODg1LTIuODA3LTEuMTY3LTQuMDY3LS4yODMtMS4yNi0uNDUtMi4yNzYtLjQ3NC0yLjc2Ni0uMTA1LTIuMDgyLjM4Mi0zLjQ4NSAxLjIxNy00LjM3LjgzNi0uODg1IDEuOTgyLTEuMjIgMy4wOTktMS4yODQgMi4wMDUtLjExNSAzLjkwOS41ODQgNC4yOTQuNzM0Ljc0Mi0uNTA0IDEuNjk4LS44MTggMi44OTItLjc5OGE3LjM5IDcuMzkgMCAwIDEgMS42ODEuMjE4bC4wMi0uMDA5YTYuODU0IDYuODU0IDAgMCAxIC43MzktLjIxNEE5LjYyNiA5LjYyNiAwIDAgMSAxNy4wOC42NDJ6bS4xNTIuNjdoLS4xNDZhOC43NCA4Ljc0IDAgMCAwLTEuNzA0LjE5MmMxLjI0Ni41NTIgMi4xODcgMS40MDIgMi44NSAyLjI1YTguNDQgOC40NCAwIDAgMSAxLjEzMiAxLjkyYy4xMS4yNjQuMTg0LjQ4Ny4yMjYuNjYuMDIxLjA4Ny4wMzUuMTYuMDQuMjM2LjAwMi4wMzguMDA0LjA3Ny0uMDEyLjE0NCAwIC4wMDMtLjAwNS4wMS0uMDA2LjAxMy4wMy44NzYtLjE4NyAxLjQ3LS4yMTMgMi4zMDYtLjAyLjYwNi4xMzUgMS4zMTguMTczIDIuMDk1LjAzNi43My0uMDUyIDEuNTMyLS41MjYgMi4zMTkuMDQuMDQ4LjA3Ni4wOTYuMTE0LjE0NCAxLjI1NC0xLjk3NSAyLjE1OC00LjE2IDIuNjQtNi4wMjMuMjU4LTEuMDAzLjM5NS0xLjkxMi40MDctMi42MzIuMDEtLjcyLS4xMjQtMS4yNDItLjI5NS0xLjQ2LTEuMzQyLTEuNzE2LTMuMTU4LTIuMTUzLTQuNjgtMi4xNjV6bS00Ljc5LjI1NmMtMS4xODIuMDAzLTIuMDMuMzYtMi42NzMuODk1LS42NjMuNTUzLTEuMTA4IDEuMzEtMS40IDIuMDg1LS4zNDcuOTItLjQ2NiAxLjgxLS41MTMgMi40MTRsLjAxMy0uMDA4Yy4zNTctLjIuODI2LS40IDEuMzI4LS41MTYuNTAyLS4xMTUgMS4wNDMtLjE1MSAxLjUzMy4wMzlzLjg5NS42MzcgMS4wNDIgMS4zMTVjLjcwNCAzLjI1Ny0uMjE5IDQuNDY4LS41NTkgNS4zODJhOS42MSA5LjYxIDAgMCAwLS4zMzEgMS4wMTNjLjA0My0uMDEuMDg2LS4wMjIuMTI5LS4wMjYuMjQtLjAyLjQyOC4wNi41NC4xMDguMzQyLjE0Mi41NzcuNDQuNzA0Ljc4LjAzMy4wODkuMDU3LjE4NS4wNzEuMjg0YS4zMzYuMzM2IDAgMCAxIC4wMi4xMjcgNTUuMTQgNTUuMTQgMCAwIDAgLjAxMyAzLjczOGMuMDIzLjUzOC4wNTcgMS4wMTIuMSAxLjM4Ni4wNDMuMzczLjEwNC42NTcuMTQzLjc1My4xMjguMzIuMzE1LjczOS42NTMgMS4wMjQuMzM4LjI4NC44MjMuNDc0IDEuNzA5LjI4NC43NjgtLjE2NSAxLjI0Mi0uMzk0IDEuNTU5LS43MjMuMzE2LS4zMjkuNTA1LS43ODcuNjI2LTEuNDg4LjE4MS0xLjA1LjU0NS00LjA5NS41ODktNC42NjgtLjAyLS40MzIuMDQ0LS43NjQuMTgyLTEuMDE3LjE0Mi0uMjYuMzYyLS40MTkuNTUyLS41MDUuMDk1LS4wNDMuMTg0LS4wNzIuMjU3LS4wOTNhNS45NTYgNS45NTYgMCAwIDAtLjI0My0uMzI1IDQuNDU2IDQuNDU2IDAgMCAxLS42NjYtMS4wOTkgOC4yOTYgOC4yOTYgMCAwIDAtLjI1Ny0uNDgzYy0uMTMzLS4yNC0uMzAxLS41NC0uNDc3LS44NzctLjM1Mi0uNjc1LS43MzUtMS40OTMtLjkzNC0yLjI5LS4xOTgtLjc5Ni0uMjI3LTEuNjIuMjgxLTIuMjAxLjQ1LS41MTYgMS4yNC0uNzMgMi40MjYtLjYxLS4wMzUtLjEwNS0uMDU2LS4xOTItLjExNS0uMzMyYTcuODE3IDcuODE3IDAgMCAwLTEuMDQxLTEuNzY0Yy0xLjAwNS0xLjI4NS0yLjYzMi0yLjU1OS01LjE0Ni0yLjZoLS4xMTV6bS02LjY0Mi4wNTJjLS4xMjcgMC0uMjU0LjAwNC0uMzguMDExLTEuMDEuMDU4LTEuOTY1LjM1MS0yLjY0OCAxLjA3NS0uNjg0LjcyNC0xLjEzNCAxLjkxMS0xLjAzNiAzLjg3Ni4wMTkuMzcyLjE4MSAxLjQxNC40NTkgMi42NTIuMjc3IDEuMjM4LjY3IDIuNjk1IDEuMTQyIDMuOTgyLjQ3MyAxLjI4NyAxLjA0NiAyLjQwNyAxLjU5IDIuOTM3LjI3NC4yNjUuNTEyLjM3Mi43MjguMzYzLjIxNy0uMDEuNDc4LS4xMzUuNzk3LS41MThhNDMuMjQ0IDQzLjI0NCAwIDAgMSAxLjgxLTIuMDQ4IDMuNDk3IDMuNDk3IDAgMCAxLTEuMTY3LTMuMTVjLjEwMy0uNzM5LjExNy0xLjQzLjEwNS0xLjk3Ni0uMDEyLS41MzItLjA1LS44ODYtLjA1LTEuMTA3YS4zMzYuMzM2IDAgMCAxIDAtLjAxOXYtLjAwNWwtLjAwMS0uMDA2di0uMDAxYTkuODkzIDkuODkzIDAgMCAxIC41OTItMy4zNzZjLjI4LS43NDQuNjk3LTEuNSAxLjMyMi0yLjExMi0uNjE0LS4yMDItMS43MDQtLjUxLTIuODg0LS41NjhhNy42MDMgNy42MDMgMCAwIDAtLjM4LS4wMXpNMTguMTk5IDYuOWMtLjY3OS4wMDktMS4wNi4xODQtMS4yNi40MTMtLjI4My4zMjUtLjMxLjg5NS0uMTM0IDEuNTk3LjE3NS43MDMuNTM3IDEuNDg5Ljg3NyAyLjE0Mi4xNy4zMjcuMzM1LjYyMS40NjguODYuMTM0LjI0LjIzMi40MS4yOTIuNTU1LjA1NS4xMzQuMTE2LjI1Mi4xNzguMzYyLjI2My0uNTU1LjMxLTEuMS4yODMtMS42NjgtLjAzNS0uNzAzLS4xOTgtMS40MjItLjE3NC0yLjE1LjAyNy0uODUxLjE5NS0xLjQwNS4yMS0yLjA2M2E1Ljc5MyA1Ljc5MyAwIDAgMC0uNzQtLjA0OHptLTguMjM0LjExNWEyLjgyIDIuODIgMCAwIDAtLjYxNi4wNzQgNC42NjUgNC42NjUgMCAwIDAtMS4xNTMuNDQ5IDIuNDE3IDIuNDE3IDAgMCAwLS4zNDkuMjI4bC0uMDIyLjAyYy4wMDYuMTQ2LjAzNS41LjA0NyAxLjAyMS4wMTIuNTctLjAwMiAxLjI5Ny0uMTEyIDIuMDg0LS4yMzkgMS43MSAxLjAwMiAzLjEyNiAyLjQ2IDMuMTI4LjA4NS0uMzUxLjIyNS0uNzA3LjM2NS0xLjA4Mi40MDYtMS4wOTQgMS4yMDUtMS44OTIuNTMyLTUuMDA2LS4xMS0uNTEtLjMyOC0uNzE2LS42MjgtLjgzMmExLjQ3NCAxLjQ3NCAwIDAgMC0uNTI0LS4wODR6bTcuOTE3LjIwNGguMDVjLjA2Ni4wMDIuMTI3LjAwOS4xOC4wMjIuMDU0LjAxMi4xLjAzLjEzOC4wNTVhLjE2NC4xNjQgMCAwIDEgLjA3NS4xMWwtLjAwMS4wMDhoLjAwMS0uMDAxYS4yNC4yNCAwIDAgMS0uMDM1LjEzNS42NjguNjY4IDAgMCAxLS4xMS4xNS42NzcuNjc3IDAgMCAxLS4zODYuMjEyLjU5LjU5IDAgMCAxLS40MS0uMTAzLjYwOC42MDggMCAwIDEtLjEzLS4xMTguMjYuMjYgMCAwIDEtLjA2My0uMTI3LjE3LjE3IDAgMCAxIC4wNDItLjEyOC4zODQuMzg0IDAgMCAxIC4xMTctLjA5Yy4wOTYtLjA1NC4yMjYtLjA5NC4zNzMtLjExNi4wNTUtLjAwOC4xMDktLjAxMi4xNi0uMDEzem0tNy44Mi4xNjhjLjA1MyAwIC4xMDkuMDA1LjE2Ni4wMTMuMTUzLjAyMS4yODkuMDYyLjM5My4xMjJhLjQ0Ni40NDYgMCAwIDEgLjEzMy4xMDYuMjIzLjIyMyAwIDAgMSAuMDU0LjE3LjMwMi4zMDIgMCAwIDEtLjA3NS4xNTQuNjQ5LjY0OSAwIDAgMS0uMTQzLjEzLjY0LjY0IDAgMCAxLS40NDguMTEzLjcyOC43MjggMCAwIDEtLjQyLS4yMjguNzEuNzEgMCAwIDEtLjExOC0uMTY0LjI4LjI4IDAgMCAxLS4wNDEtLjE3N2MuMDE1LS4xMDguMTA0LS4xNjQuMTkxLS4xOTVhLjg2Ni44NjYgMCAwIDEgLjMwNy0uMDR6bTkuMDYgNy4zNDNsLS4wMDMuMDAxYy0uMTQ3LjA1My0uMjY4LjA3NS0uMzcuMTJhLjQ1Mi40NTIgMCAwIDAtLjIzOS4yMTRjLS4wNjMuMTE1LS4xMTcuMzE5LS4xMDEuNjY2YS41MS41MSAwIDAgMCAuMTQ4LjA3Yy4xNzEuMDUyLjQ1OC4wODYuNzc4LjA4MS42MzgtLjAwNyAxLjQyMy0uMTU2IDEuODQtLjM1YTMuOTUgMy45NSAwIDAgMCAuOTQzLS42MTVoLS4wMDFjLTEuMzkzLjI4OC0yLjE4LjIxMS0yLjY2My4wMTJhMS4zMTUgMS4zMTUgMCAwIDEtLjMzMi0uMnptLTguMDMxLjA5NGgtLjAyMWMtLjA1My4wMDUtLjEzLjAyMy0uMjc5LjE4OC0uMzQ4LjM5LS40Ny42MzUtLjc1Ny44NjQtLjI4Ny4yMjgtLjY2LjM1LTEuNDA1LjUwMy0uMjM2LjA0OC0uMzcxLjEwMS0uNDYxLjE0NC4wMjkuMDI0LjAyNi4wMy4wNy4wNTMuMTA5LjA2LjI0OS4xMTMuMzYyLjE0Mi4zMi4wOC44NDYuMTczIDEuMzk1LjA4LjU0OS0uMDk0IDEuMTItLjM1NyAxLjYwNy0xLjA0LjA4NC0uMTE4LjA5My0uMjkyLjAyNC0uNDc5LS4wNy0uMTg3LS4yMjMtLjM0OC0uMzMxLS4zOTNhLjY1My42NTMgMCAwIDAtLjIwNC0uMDZ6Ii8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "PostgreSQL Source" description: Query data from a PostgreSQL Database. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 5432 username: title: Username description: The username to access a secured PostgreSQL Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured PostgreSQL Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the PostgreSQL Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the PostgreSQL Database. type: string consumedQuery: title: Consumed Query description: A query to run on a tuple consumed. type: string example: 'DELETE FROM accounts where user_id = :#user_id' delay: title: Delay description: The number of milliseconds before the next poll type: integer default: 500 types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.postgresql:postgresql:42.7.7" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-postgres-source type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:postgresql://{{serverName}}:{{serverPort}}/{{databaseName}}' driverClassName: 'org.postgresql.Driver' from: uri: "{{local-sql-postgres-source}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" onConsume: "{{?consumedQuery}}" delay: "{{delay}}" steps: - marshal: json: library: Jackson - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: pqc-kem-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "PQC" camel.apache.org/kamelet.namespace: "PQC" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "PQC Key Encapsulation/Decapsulation Action" description: Encapsulate or Decapsulate a secret Key with a PQC KEM algorithm. required: - keyEncapsulationAlgorithm - operation - symmetricKeyAlgorithm type: object properties: keyEncapsulationAlgorithm: title: PQC Key Encapsulation Algorithm description: The PQC Key Encapsulation Algorithm to be used. type: string enum: ["MLKEM","BIKE","HQC","CMCE","SABER","FRODO","NTRU","NTRULPRime"] operation: title: PQC KEM Operation description: The PQC KEM Operation to be performed. type: string enum: ["generateSecretKeyEncapsulation","extractSecretKeyEncapsulation","extractSecretKeyFromEncapsulation"] symmetricKeyAlgorithm: title: Symmetric Key Algorithm description: The Symmetric Key Algorithm to be used in KEM operations. type: string enum: ["AES","RC2","RC5","ARIA","CAMELLIA","CAST5","CAST6","CHACHA7539","DSTU7624","GOST28147","GOST3412_2015","GRAIN128","HC128","HC256","SALSA20","SEED","SM4","DESEDE"] dependencies: - "camel:http" - "camel:kamelet" - "camel:core" template: from: uri: kamelet:source steps: - to: uri: "pqc:kem" parameters: keyEncapsulationAlgorithm: "{{keyEncapsulationAlgorithm}}" operation: "{{operation}}" symmetricKeyAlgorithm: "{{symmetricKeyAlgorithm}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: pqc-signature-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjAiCmhlaWdodD0iNDIwIiBzdHJva2U9IiMwMDAiIGZpbGw9Im5vbmUiPgo8cGF0aCBzdHJva2Utd2lkdGg9IjI2IgpkPSJNMjA5LDE1YTE5NSwxOTUgMCAxLDAgMiwweiIvPgo8cGF0aCBzdHJva2Utd2lkdGg9IjE4IgpkPSJtMjEwLDE1djM5MG0xOTUtMTk1SDE1TTU5LDkwYTI2MCwyNjAgMCAwLDAgMzAyLDAgbTAsMjQwIGEyNjAsMjYwIDAgMCwwLTMwMiwwTTE5NSwyMGEyNTAsMjUwIDAgMCwwIDAsMzgyIG0zMCwwIGEyNTAsMjUwIDAgMCwwIDAtMzgyIi8+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "PQC" camel.apache.org/kamelet.namespace: "PQC" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "PQC Signature Action" description: Sign or verify a payload with a PQC algorithm. required: - signatureAlgorithm - operation type: object properties: signatureAlgorithm: title: PQC Signature Algorithm description: The PQC Signature Algorithm to be used. type: string enum: [MLDSA","SLHDSA","LMS","XMSS","FALCON","PICNIC"] operation: title: PQC Signature Operation description: The PQC Signature Operation to be performed. type: string enum: ["sign","verify"] dependencies: - "camel:http" - "camel:kamelet" - "camel:core" template: from: uri: kamelet:source steps: - to: uri: "pqc:sign" parameters: signatureAlgorithm: "{{signatureAlgorithm}}" operation: "{{operation}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: predicate-filter-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" spec: definition: title: "Predicate Filter Action" description: "Filter based on a JSONPath Expression. Since this is a filter, the expression is a negation. This means that if the `foo` field of the example is equal to `John`, the message goes ahead. Otherwise it is filtered out." required: - expression properties: expression: title: Expression description: The JSONPath Expression to evaluate, without the external parenthesis. Since this is a filter, the expression is a negation. This means that if the `foo` field of the example is equal to `John`, the message goes ahead. Otherwise it is filtered out. type: string example: '@.foo =~ /.*John/' type: object dependencies: - "camel:core" - "camel:kamelet" - "camel:jsonpath" template: from: uri: kamelet:source steps: - filter: jsonpath: "$[?(!({{expression}}))]" steps: - stop: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: protobuf-deserialize-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Protobuf Deserialize Action" description: "Deserialize payload to Protobuf." type: object properties: schema: title: Schema description: The Protobuf schema to use during serialization (as single-line) type: string example: 'message Person { required string first = 1; required string last = 2; }' dependencies: - "camel:kamelet" - "camel:core" - "camel:jackson-protobuf" template: beans: - name: schemaResolver type: "#class:org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver" properties: schema: "{{schema:}}" from: uri: kamelet:source steps: - unmarshal: protobuf: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode schemaResolver: "#bean:{{schemaResolver}}" - removeHeader: name: "Content-Type" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: protobuf-serialize-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Protobuf Serialize Action" description: "Serialize payload to Protobuf." type: object properties: schema: title: Schema description: The Protobuf schema to use during serialization (as single-line) type: string example: 'message Person { required string first = 1; required string last = 2; }' dependencies: - "camel:kamelet" - "camel:core" - "camel:jackson-protobuf" template: beans: - name: schemaResolver type: "#class:org.apache.camel.component.jackson.protobuf.transform.ProtobufSchemaResolver" properties: schema: "{{schema:}}" from: uri: kamelet:source steps: - marshal: protobuf: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode schemaResolver: "#bean:{{schemaResolver}}" - setHeader: name: "Content-Type" constant: "application/protobuf" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: pulsar-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgdmlld0JveD0iMCAwIDYwLjk3Mzk5OSA0My4wOSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMjQiCiAgIHNvZGlwb2RpOmRvY25hbWU9InB1bHNhci1sb2dvLnN2ZyIKICAgd2lkdGg9IjYwLjk3Mzk5OSIKICAgaGVpZ2h0PSI0My4wOSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4xLjEgKDNiZjVhZTBkMjUsIDIwMjEtMDktMjApIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzI2IgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIHVuaXRzPSJweCIKICAgICBpbmtzY2FwZTp6b29tPSIzLjAwNDM2NjIiCiAgICAgaW5rc2NhcGU6Y3g9IjMxLjQ1NDIyMSIKICAgICBpbmtzY2FwZTpjeT0iNDMuNDM2NzgyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDgwIgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMjQiIC8+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiPgogICAgPHN0eWxlCiAgICAgICBpZD0ic3R5bGUyIj4uY2xzLTF7ZmlsbDojMTg4ZmZmO30uY2xzLTJ7ZmlsbDojNDY0ZTU2O308L3N0eWxlPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDMxNiI+CiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0MzE4IgogICAgICAgICB3aWR0aD0iNjAuOTczOTQ2IgogICAgICAgICBoZWlnaHQ9IjQzLjUxMzExMSIKICAgICAgICAgeD0iNC4wOTY2MDMzZS0xMCIKICAgICAgICAgeT0iLTAuNDIzMTExMTEiIC8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8dGl0bGUKICAgICBpZD0idGl0bGU2Ij5Bc3NldCAyPC90aXRsZT4KICA8ZwogICAgIGlkPSJMYXllcl8yIgogICAgIGRhdGEtbmFtZT0iTGF5ZXIgMiIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjI5NzE0NDIsMC4wNjg0ODA4NSkiCiAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMzE2KSI+CiAgICA8ZwogICAgICAgaWQ9IkxheWVyXzEtMiIKICAgICAgIGRhdGEtbmFtZT0iTGF5ZXIgMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGNsYXNzPSJjbHMtMSIKICAgICAgICAgZD0iTSA2MSwxMy43MyBIIDQ2LjA5IEMgNDIuMDYsNiAzNy44LDAgMzIsMCAyNC40NSwwIDIwLjksNi41OSAxNy40NywxMyBsIC0wLjMsMC41NiBIIDAgdiAzLjgxIGggMTAgYyAzLjUzLDAgNC4yNSwxLjE5IDQuMjUsMS4xOSAtMi43Nyw0LjMgLTYuMSw4LjU1IC0xMS42NSw4LjU1IEggMCB2IDQgaCAyLjYyIGMgMTAuNzYsMCAxNS40NiwtOC43MyAxOS4yMywtMTUuNzQgQyAyNS4zMSw4LjkxIDI3LjcyLDUgMzIsNSBjIDQuNDQsMCA5LjExLDkuNjYgMTMuMjIsMTguMTkgMC42LDEuMjQgMS4yMSwyLjUxIDEuODMsMy43NyAtMTUuNzYsMC41IC0yMy4yNyw0LjE5IC0yOS4zOCw3LjIgLTQuNDcsMi4yIC04LDQuOTMgLTEzLjgxLDQuOTMgSCAwIHYgNCBoIDMuODMgYyA3LDAgMTEuMzYsLTIuMTYgMTYsLTQuNDUgNi40MywtMy4xNiAxMy43MiwtNi43NCAzMC45LC02Ljc0IGggOS45MyB2IC00IGggLTUuNjEgYSAzLDMgMCAwIDEgLTIuNDcsLTEgQyA1MS42LDI1IDUwLjY0LDIzIDQ5LjcsMjEgbCAtMS4zLC0yLjY2IGMgMCwwIDAuOTMsLTEgMy41MSwtMSBIIDYxIFoiCiAgICAgICAgIGlkPSJwYXRoOCIgLz4KICAgICAgPHBhdGgKICAgICAgICAgY2xhc3M9ImNscy0yIgogICAgICAgICBkPSJNIDc5LjgzLDEzLjcgSCA2OS40NCB2IDMuNzQgSCA3OS42IGMgNC4yLDAgNi42MSwxLjkxIDYuNjEsNS4zMyAwLDMuMjQgLTIuNjYsNS4zMyAtNi43Nyw1LjMzIGggLTEwIHYgMTMgaCA0IHYgLTkuMyBoIDUuOTMgYyA1LjQyLDAgMTAuODgsLTIuODMgMTAuODgsLTkuMjIgLTAuMDMsLTUuNCAtNC4xMSwtOC44OCAtMTAuNDIsLTguODggeiIKICAgICAgICAgaWQ9InBhdGgxMCIgLz4KICAgICAgPHBhdGgKICAgICAgICAgY2xhc3M9ImNscy0yIgogICAgICAgICBkPSJtIDExMy4zMSwyOS41NyBjIDAsNS4zMSAtMi42Niw4LjI0IC03LjQ4LDguMjQgLTQuODIsMCAtNy42LC0zLjA3IC03LjYsLTguNDMgViAxMy43IGggLTQgdiAxNS44NyBjIDAsNy4zOSA0LjQsMTIgMTEuNDksMTIgNy4wOSwwIDExLjU2LC00LjU3IDExLjU2LC0xMi4yMyBWIDEzLjcgaCAtNCB6IgogICAgICAgICBpZD0icGF0aDEyIiAvPgogICAgICA8cG9seWdvbgogICAgICAgICBjbGFzcz0iY2xzLTIiCiAgICAgICAgIHBvaW50cz0iMTQyLjIyLDQxLjE0IDE0Mi4yMiwzNy4zOSAxMjcuMzMsMzcuMzkgMTI3LjMzLDEzLjcgMTIzLjM2LDEzLjcgMTIzLjM2LDQxLjE0ICIKICAgICAgICAgaWQ9InBvbHlnb24xNCIgLz4KICAgICAgPHBhdGgKICAgICAgICAgY2xhc3M9ImNscy0yIgogICAgICAgICBkPSJNIDE1Ni42OSwyNS41IEMgMTUwLjk1LDI0LjI3IDE0OS45LDIyLjk3IDE0OS45LDIwLjc2IDE0OS45LDE4LjU1IDE1MiwxNyAxNTUsMTcgYSAxMS4xMiwxMS4xMiAwIDAgMSA3LjMyLDIuNzYgbCAwLjQsMC4zMiAyLjM2LC0zLjA4IC0wLjM3LC0wLjMgYSAxNC4yMiwxNC4yMiAwIDAgMCAtOS42MSwtMy4zNiBjIC01LjMyLDAgLTkuMTgsMy4yNCAtOS4xOCw3Ljc5IDAsNS4wNiAzLjcxLDYuOTEgOS4yNyw4LjEyIDUuNTYsMS4yMSA2LjQ5LDIuNDQgNi40OSw0LjYyIDAsMi4zNiAtMi4yMiw0IC01LjQxLDQgLTMuMzcsMCAtNS45LC0xIC04Ljc0LC0zLjYyIGwgLTAuMzgsLTAuMzQgLTIuNDksMi45NSAwLjM2LDAuMzIgYSAxNS45MSwxNS45MSAwIDAgMCAxMS4xNCw0LjM2IGMgNS42MSwwIDkuNTIsLTMuMjggOS41MiwtOCAwLjAxLC00LjI4IC0yLjY4LC02LjY3IC04Ljk5LC04LjA0IHoiCiAgICAgICAgIGlkPSJwYXRoMTYiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGNsYXNzPSJjbHMtMiIKICAgICAgICAgZD0ibSAxODAuMTksMTMuNTEgLTEyLjUsMjcuNjMgaCA0LjE0IGwgMy4xNCwtNyBoIDEzLjc2IGwgMy4xLDcgaCA0LjI5IGwgLTEyLjUsLTI3LjYzIHogbSAtMy42MSwxNyA1LjI5LC0xMS44IDUuMjYsMTEuOCB6IgogICAgICAgICBpZD0icGF0aDE4IiAvPgogICAgICA8cGF0aAogICAgICAgICBjbGFzcz0iY2xzLTIiCiAgICAgICAgIGQ9Im0gMjE1LjE4LDMwLjE1IGMgNC4yOSwtMSA2LjgyLC00IDYuODIsLTguMTEgYSA3Ljc3LDcuNzcgMCAwIDAgLTIuMTgsLTUuNTYgMTEsMTEgMCAwIDAgLTcuODcsLTIuNzkgaCAtMTEuODcgdiAyNy40NSBoIDQgViAzMC44NSBoIDYuODIgbCA3LjY3LDEwLjI4IGggNC45IHogbSAtMTEuMTQsLTMgdiAtOS43MSBoIDcuNjcgYyA0LDAgNi4yOCwxLjcyIDYuMjgsNC44IDAsMy4wOCAtMi40OCw1IC02LjMxLDUgeiIKICAgICAgICAgaWQ9InBhdGgyMCIgLz4KICAgIDwvZz4KICA8L2c+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhODE5Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkFzc2V0IDI8L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Pulsar" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" spec: dependencies: - "camel:pulsar" - "camel:kamelet" - "camel:core" definition: title: "Pulsar Sink" description: "Send documents to Pulsar." required: - topicType - topic - namespaceName - tenant - serviceUrl properties: topic: title: Topic Name description: The topic name or regexp. type: string tenant: title: Tenant Name description: The Tenant Name. type: string topicType: title: Topic Type description: "The topic type." type: string enum: ["persistent", "non-persistent"] namespaceName: title: Pulsar Namespace Name description: The Pulsar Namespace Name. type: string serviceUrl: title: Service URL description: The Pulsar Service URL to point while creating the client from URI. type: string authenticationClass: title: Authentication Class description: The Authentication FQCN to be used while creating the client from URI. type: string authenticationParams: title: Authentication Params description: The Authentication Parameters to be used while creating the client from URI. type: string batchingEnabled: title: Enable Batching description: Control whether automatic batching of messages is enabled for the producer. type: boolean default: true batchingMaxMessages: title: Batching Maximum Messages description: "The maximum size to batch messages." type: integer default: 1000 batchingMaxPublishDelayMicros: title: Batching Maximum Publish Delay in Microsecond description: "Used if `batchingEnabled` is `true`. Sets the maximum time period within which the messages sent are batched." type: integer default: 1000 blockIfQueueFull: title: Block If Queue Full description: "Whether to block the producing thread if pending messages queue is full or to throw a ProducerQueueIsFullError." type: boolean default: false compressionType: title: Compression Type description: "Compression type to use." type: string default: "NONE" enum: ["NONE", "LZ4", "ZLIB", "ZSTD", "SNAPPY"] initialSequenceId: title: Initial SequenceId description: "The first message published will have a sequence Id of initialSequenceId 1." type: integer default: -1 lazyStartProducer: title: Number Of Consumer Threads description: "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing." type: boolean default: false maxPendingMessages: title: Maximum Pending Messages description: "Size of the pending massages queue. When the queue is full, by default, any further sends will fail unless blockIfQueueFull=true." type: integer default: 1000 maxPendingMessagesAcrossPartitions: title: Maximum Pending Messages Across Partitions description: "The maximum number of pending messages for partitioned topics. The `maxPendingMessages` value is reduced if (number of partitions `maxPendingMessages`) exceeds this value. Partitioned topics have a pending message queue for each partition." type: integer default: 50000 messageRoutingMode: title: Message Routing Mode description: "Message Routing Mode to use." type: string default: "RoundRobinPartition" enum: ["SinglePartition", "RoundRobinPartition", "CustomPartition"] producerName: title: Producer Name description: "Name of the producer. If unset, lets Pulsar select a unique identifier." type: string sendTimeoutMs: title: Send Timeout in Milliseconds description: "Send timeout in milliseconds." type: integer default: 30000 type: object template: from: uri: kamelet:source steps: - to: uri: pulsar:{{topicType}}/{{tenant}}/{{namespaceName}}/{{topic}} parameters: serviceUrl: "{{serviceUrl}}" authenticationClass: "{{?authenticationClass}}" authenticationParams: "{{?authenticationParams}}" batchingEnabled: "{{?batchingEnabled}}" batchingMaxMessages: "{{?batchingMaxMessages}}" batchingMaxPublishDelayMicros: "{{?batchingMaxPublishDelayMicros}}" blockIfQueueFull: "{{?blockIfQueueFull}}" compressionType: "{{?compressionType}}" initialSequenceId: "{{?initialSequenceId}}" lazyStartProducer: "{{?lazyStartProducer}}" maxPendingMessages: "{{?maxPendingMessages}}" maxPendingMessagesAcrossPartitions: "{{?maxPendingMessagesAcrossPartitions}}" messageRoutingMode: "{{?messageRoutingMode}}" producerName: "{{?producerName}}" sendTimeoutMs: "{{?sendTimeoutMs}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: pulsar-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgdmlld0JveD0iMCAwIDYwLjk3Mzk5OSA0My4wOSIKICAgdmVyc2lvbj0iMS4xIgogICBpZD0ic3ZnMjQiCiAgIHNvZGlwb2RpOmRvY25hbWU9InB1bHNhci1sb2dvLnN2ZyIKICAgd2lkdGg9IjYwLjk3Mzk5OSIKICAgaGVpZ2h0PSI0My4wOSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMS4xLjEgKDNiZjVhZTBkMjUsIDIwMjEtMDktMjApIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zOnJkZj0iaHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyIKICAgeG1sbnM6Y2M9Imh0dHA6Ly9jcmVhdGl2ZWNvbW1vbnMub3JnL25zIyIKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIj4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgaWQ9Im5hbWVkdmlldzI2IgogICAgIHBhZ2Vjb2xvcj0iI2ZmZmZmZiIKICAgICBib3JkZXJjb2xvcj0iIzY2NjY2NiIKICAgICBib3JkZXJvcGFjaXR5PSIxLjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTpwYWdlb3BhY2l0eT0iMC4wIgogICAgIGlua3NjYXBlOnBhZ2VjaGVja2VyYm9hcmQ9IjAiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIHVuaXRzPSJweCIKICAgICBpbmtzY2FwZTp6b29tPSIzLjAwNDM2NjIiCiAgICAgaW5rc2NhcGU6Y3g9IjMxLjQ1NDIyMSIKICAgICBpbmtzY2FwZTpjeT0iNDMuNDM2NzgyIgogICAgIGlua3NjYXBlOndpbmRvdy13aWR0aD0iMTkyMCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSIxMDgwIgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy1tYXhpbWl6ZWQ9IjEiCiAgICAgaW5rc2NhcGU6Y3VycmVudC1sYXllcj0ic3ZnMjQiIC8+CiAgPGRlZnMKICAgICBpZD0iZGVmczQiPgogICAgPHN0eWxlCiAgICAgICBpZD0ic3R5bGUyIj4uY2xzLTF7ZmlsbDojMTg4ZmZmO30uY2xzLTJ7ZmlsbDojNDY0ZTU2O308L3N0eWxlPgogICAgPGNsaXBQYXRoCiAgICAgICBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSIKICAgICAgIGlkPSJjbGlwUGF0aDMxNiI+CiAgICAgIDxyZWN0CiAgICAgICAgIGlkPSJyZWN0MzE4IgogICAgICAgICB3aWR0aD0iNjAuOTczOTQ2IgogICAgICAgICBoZWlnaHQ9IjQzLjUxMzExMSIKICAgICAgICAgeD0iNC4wOTY2MDMzZS0xMCIKICAgICAgICAgeT0iLTAuNDIzMTExMTEiIC8+CiAgICA8L2NsaXBQYXRoPgogIDwvZGVmcz4KICA8dGl0bGUKICAgICBpZD0idGl0bGU2Ij5Bc3NldCAyPC90aXRsZT4KICA8ZwogICAgIGlkPSJMYXllcl8yIgogICAgIGRhdGEtbmFtZT0iTGF5ZXIgMiIKICAgICB0cmFuc2Zvcm09InRyYW5zbGF0ZSgwLjI5NzE0NDIsMC4wNjg0ODA4NSkiCiAgICAgY2xpcC1wYXRoPSJ1cmwoI2NsaXBQYXRoMzE2KSI+CiAgICA8ZwogICAgICAgaWQ9IkxheWVyXzEtMiIKICAgICAgIGRhdGEtbmFtZT0iTGF5ZXIgMSI+CiAgICAgIDxwYXRoCiAgICAgICAgIGNsYXNzPSJjbHMtMSIKICAgICAgICAgZD0iTSA2MSwxMy43MyBIIDQ2LjA5IEMgNDIuMDYsNiAzNy44LDAgMzIsMCAyNC40NSwwIDIwLjksNi41OSAxNy40NywxMyBsIC0wLjMsMC41NiBIIDAgdiAzLjgxIGggMTAgYyAzLjUzLDAgNC4yNSwxLjE5IDQuMjUsMS4xOSAtMi43Nyw0LjMgLTYuMSw4LjU1IC0xMS42NSw4LjU1IEggMCB2IDQgaCAyLjYyIGMgMTAuNzYsMCAxNS40NiwtOC43MyAxOS4yMywtMTUuNzQgQyAyNS4zMSw4LjkxIDI3LjcyLDUgMzIsNSBjIDQuNDQsMCA5LjExLDkuNjYgMTMuMjIsMTguMTkgMC42LDEuMjQgMS4yMSwyLjUxIDEuODMsMy43NyAtMTUuNzYsMC41IC0yMy4yNyw0LjE5IC0yOS4zOCw3LjIgLTQuNDcsMi4yIC04LDQuOTMgLTEzLjgxLDQuOTMgSCAwIHYgNCBoIDMuODMgYyA3LDAgMTEuMzYsLTIuMTYgMTYsLTQuNDUgNi40MywtMy4xNiAxMy43MiwtNi43NCAzMC45LC02Ljc0IGggOS45MyB2IC00IGggLTUuNjEgYSAzLDMgMCAwIDEgLTIuNDcsLTEgQyA1MS42LDI1IDUwLjY0LDIzIDQ5LjcsMjEgbCAtMS4zLC0yLjY2IGMgMCwwIDAuOTMsLTEgMy41MSwtMSBIIDYxIFoiCiAgICAgICAgIGlkPSJwYXRoOCIgLz4KICAgICAgPHBhdGgKICAgICAgICAgY2xhc3M9ImNscy0yIgogICAgICAgICBkPSJNIDc5LjgzLDEzLjcgSCA2OS40NCB2IDMuNzQgSCA3OS42IGMgNC4yLDAgNi42MSwxLjkxIDYuNjEsNS4zMyAwLDMuMjQgLTIuNjYsNS4zMyAtNi43Nyw1LjMzIGggLTEwIHYgMTMgaCA0IHYgLTkuMyBoIDUuOTMgYyA1LjQyLDAgMTAuODgsLTIuODMgMTAuODgsLTkuMjIgLTAuMDMsLTUuNCAtNC4xMSwtOC44OCAtMTAuNDIsLTguODggeiIKICAgICAgICAgaWQ9InBhdGgxMCIgLz4KICAgICAgPHBhdGgKICAgICAgICAgY2xhc3M9ImNscy0yIgogICAgICAgICBkPSJtIDExMy4zMSwyOS41NyBjIDAsNS4zMSAtMi42Niw4LjI0IC03LjQ4LDguMjQgLTQuODIsMCAtNy42LC0zLjA3IC03LjYsLTguNDMgViAxMy43IGggLTQgdiAxNS44NyBjIDAsNy4zOSA0LjQsMTIgMTEuNDksMTIgNy4wOSwwIDExLjU2LC00LjU3IDExLjU2LC0xMi4yMyBWIDEzLjcgaCAtNCB6IgogICAgICAgICBpZD0icGF0aDEyIiAvPgogICAgICA8cG9seWdvbgogICAgICAgICBjbGFzcz0iY2xzLTIiCiAgICAgICAgIHBvaW50cz0iMTQyLjIyLDQxLjE0IDE0Mi4yMiwzNy4zOSAxMjcuMzMsMzcuMzkgMTI3LjMzLDEzLjcgMTIzLjM2LDEzLjcgMTIzLjM2LDQxLjE0ICIKICAgICAgICAgaWQ9InBvbHlnb24xNCIgLz4KICAgICAgPHBhdGgKICAgICAgICAgY2xhc3M9ImNscy0yIgogICAgICAgICBkPSJNIDE1Ni42OSwyNS41IEMgMTUwLjk1LDI0LjI3IDE0OS45LDIyLjk3IDE0OS45LDIwLjc2IDE0OS45LDE4LjU1IDE1MiwxNyAxNTUsMTcgYSAxMS4xMiwxMS4xMiAwIDAgMSA3LjMyLDIuNzYgbCAwLjQsMC4zMiAyLjM2LC0zLjA4IC0wLjM3LC0wLjMgYSAxNC4yMiwxNC4yMiAwIDAgMCAtOS42MSwtMy4zNiBjIC01LjMyLDAgLTkuMTgsMy4yNCAtOS4xOCw3Ljc5IDAsNS4wNiAzLjcxLDYuOTEgOS4yNyw4LjEyIDUuNTYsMS4yMSA2LjQ5LDIuNDQgNi40OSw0LjYyIDAsMi4zNiAtMi4yMiw0IC01LjQxLDQgLTMuMzcsMCAtNS45LC0xIC04Ljc0LC0zLjYyIGwgLTAuMzgsLTAuMzQgLTIuNDksMi45NSAwLjM2LDAuMzIgYSAxNS45MSwxNS45MSAwIDAgMCAxMS4xNCw0LjM2IGMgNS42MSwwIDkuNTIsLTMuMjggOS41MiwtOCAwLjAxLC00LjI4IC0yLjY4LC02LjY3IC04Ljk5LC04LjA0IHoiCiAgICAgICAgIGlkPSJwYXRoMTYiIC8+CiAgICAgIDxwYXRoCiAgICAgICAgIGNsYXNzPSJjbHMtMiIKICAgICAgICAgZD0ibSAxODAuMTksMTMuNTEgLTEyLjUsMjcuNjMgaCA0LjE0IGwgMy4xNCwtNyBoIDEzLjc2IGwgMy4xLDcgaCA0LjI5IGwgLTEyLjUsLTI3LjYzIHogbSAtMy42MSwxNyA1LjI5LC0xMS44IDUuMjYsMTEuOCB6IgogICAgICAgICBpZD0icGF0aDE4IiAvPgogICAgICA8cGF0aAogICAgICAgICBjbGFzcz0iY2xzLTIiCiAgICAgICAgIGQ9Im0gMjE1LjE4LDMwLjE1IGMgNC4yOSwtMSA2LjgyLC00IDYuODIsLTguMTEgYSA3Ljc3LDcuNzcgMCAwIDAgLTIuMTgsLTUuNTYgMTEsMTEgMCAwIDAgLTcuODcsLTIuNzkgaCAtMTEuODcgdiAyNy40NSBoIDQgViAzMC44NSBoIDYuODIgbCA3LjY3LDEwLjI4IGggNC45IHogbSAtMTEuMTQsLTMgdiAtOS43MSBoIDcuNjcgYyA0LDAgNi4yOCwxLjcyIDYuMjgsNC44IDAsMy4wOCAtMi40OCw1IC02LjMxLDUgeiIKICAgICAgICAgaWQ9InBhdGgyMCIgLz4KICAgIDwvZz4KICA8L2c+CiAgPG1ldGFkYXRhCiAgICAgaWQ9Im1ldGFkYXRhODE5Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOnRpdGxlPkFzc2V0IDI8L2RjOnRpdGxlPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Pulsar" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" spec: dependencies: - "camel:pulsar" - "camel:kamelet" - "camel:core" definition: title: "Pulsar Source" description: "Receive data from Pulsar topics." required: - topicType - topic - namespaceName - tenant - serviceUrl properties: topic: title: Topic Name description: The topic name or regexp type: string tenant: title: Tenant Name description: The Tenant Name type: string topicType: title: Topic Type description: "The topic type." type: string enum: ["persistent", "non-persistent"] namespaceName: title: Pulsar Namespace Name description: The Pulsar Namespace Name type: string serviceUrl: title: Service URL description: The Pulsar Service URL to point while creating the client from URI. type: string authenticationClass: title: Authentication Class description: The Authentication FQCN to be used while creating the client from URI. type: string authenticationParams: title: Authentication Params description: The Authentication Parameters to be used while creating the client from URI. type: string consumerNamePrefix: title: Consumer Name Prefix description: Prefix to add to consumer names when a SHARED or FAILOVER subscription is used type: string default: cons consumerQueueSize: title: Consumer Queue Size description: Size of the consumer queue type: integer default: 10 deadLetterTopic: title: Dead Letter Topic description: "Name of the topic where the messages which fail `maxRedeliverCount` times are sent. Note: if not set, default topic name is topicName-subscriptionName-DLQ." type: integer maxRedeliverCount: title: Maximum Redelivery Count description: "Maximum number of times that a message is redelivered before being sent to the dead letter queue. If this value is not set, no Dead Letter Policy is created." type: integer negativeAckRedeliveryDelayMicros: title: Negative Ack Redelivery Delay in Microseconds description: "Set the negative acknowledgement delay." type: integer default: 60000000 messageListener: title: Message Listener description: "Whether to use the messageListener interface, or to receive messages using a separate thread pool." type: boolean default: true numberOfConsumers: title: Number Of Consumers description: "Number of consumers." type: integer default: 1 numberOfConsumerThreads: title: Number Of Consumer Threads description: "Number of threads to receive and handle messages when using a separate thread pool." type: integer default: 1 readCompacted: title: Read Compacted description: "Enable compacted topic reading." type: boolean default: false subscriptionInitialPosition: title: Subscription Initial Position description: "Control the initial position in the topic of a newly created subscription. Default is latest message." type: string default: LATEST enum: ["EARLIEST", "LATEST"] subscriptionName: title: Subscription Name description: "Name of the subscription to use." type: string default: subs subscriptionTopicsMode: title: Subscription Topics Mode description: "Determines to which topics this consumer should be subscribed to - Persistent, Non-Persistent, or both. Only used with pattern subscriptions." type: string default: PersistentOnly enum: ["PersistentOnly", "NonPersistentOnly", "AllTopics"] subscriptionType: title: Subscription Type description: "Type of the subscription." type: string default: EXCLUSIVE enum: ["EXCLUSIVE", "SHARED", "FAILOVER", "KEY_SHARED"] topicsPattern: title: Topic Pattern description: "Whether the topic is a pattern (regular expression) that allows the consumer to subscribe to all matching topics in the namespace." type: boolean default: false type: object template: from: uri: pulsar:{{topicType}}/{{tenant}}/{{namespaceName}}/{{topic}} parameters: serviceUrl: "{{serviceUrl}}" authenticationClass: "{{?authenticationClass}}" authenticationParams: "{{?authenticationParams}}" consumerNamePrefix: "{{?consumerNamePrefix}}" consumerQueueSize: "{{?consumerQueueSize}}" deadLetterTopic: "{{?deadLetterTopic}}" maxRedeliverCount: "{{?maxRedeliverCount}}" negativeAckRedeliveryDelayMicros: "{{?negativeAckRedeliveryDelayMicros}}" messageListener: "{{?messageListener}}" numberOfConsumers: "{{?numberOfConsumers}}" numberOfConsumerThreads: "{{?numberOfConsumerThreads}}" readCompacted: "{{?readCompacted}}" subscriptionInitialPosition: "{{?subscriptionInitialPosition}}" subscriptionName: "{{?subscriptionName}}" subscriptionTopicsMode: "{{?subscriptionTopicsMode}}" subscriptionType: "{{?subscriptionType}}" topicsPattern: "{{?topicsPattern}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: redis-sink labels: camel.apache.org/kamelet.type: "sink" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Redis" camel.apache.org/kamelet.namespace: "Cache" camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwMCIgaGVpZ2h0PSIyMTQ4IiB2aWV3Qm94PSIwIDAgMjU2IDIyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij48cGF0aCBkPSJNMjQ1Ljk3IDE2OC45NDNjLTEzLjY2MiA3LjEyMS04NC40MzQgMzYuMjItOTkuNTAxIDQ0LjA3NS0xNS4wNjcgNy44NTYtMjMuNDM3IDcuNzgtMzUuMzQgMi4wOS0xMS45MDItNS42OS04Ny4yMTYtMzYuMTEyLTEwMC43ODMtNDIuNTk3QzMuNTY2IDE2OS4yNzEgMCAxNjYuNTM1IDAgMTYzLjk1MXYtMjUuODc2czk4LjA1LTIxLjM0NSAxMTMuODc5LTI3LjAyNGMxNS44MjgtNS42NzkgMjEuMzItNS44ODQgMzQuNzktLjk1IDEzLjQ3MiA0LjkzNiA5NC4wMTggMTkuNDY4IDEwNy4zMzEgMjQuMzQ0bC0uMDA2IDI1LjUxYy4wMDIgMi41NTgtMy4wNyA1LjM2NC0xMC4wMjQgOC45ODgiIGZpbGw9IiM5MTI2MjYiLz48cGF0aCBkPSJNMjQ1Ljk2NSAxNDMuMjJjLTEzLjY2MSA3LjExOC04NC40MzEgMzYuMjE4LTk5LjQ5OCA0NC4wNzItMTUuMDY2IDcuODU3LTIzLjQzNiA3Ljc4LTM1LjMzOCAyLjA5LTExLjkwMy01LjY4Ni04Ny4yMTQtMzYuMTEzLTEwMC43OC00Mi41OTQtMTMuNTY2LTYuNDg1LTEzLjg1LTEwLjk0OC0uNTI0LTE2LjE2NiAxMy4zMjYtNS4yMiA4OC4yMjQtMzQuNjA1IDEwNC4wNTUtNDAuMjg0IDE1LjgyOC01LjY3NyAyMS4zMTktNS44ODQgMzQuNzg5LS45NDggMTMuNDcxIDQuOTM0IDgzLjgxOSAzMi45MzUgOTcuMTMgMzcuODEgMTMuMzE2IDQuODgxIDEzLjgyNyA4LjkuMTY2IDE2LjAyIiBmaWxsPSIjQzYzMDJCIi8+PHBhdGggZD0iTTI0NS45NyAxMjcuMDc0Yy0xMy42NjIgNy4xMjItODQuNDM0IDM2LjIyLTk5LjUwMSA0NC4wNzgtMTUuMDY3IDcuODUzLTIzLjQzNyA3Ljc3Ny0zNS4zNCAyLjA4Ny0xMS45MDMtNS42ODctODcuMjE2LTM2LjExMi0xMDAuNzgzLTQyLjU5N0MzLjU2NiAxMjcuNDAyIDAgMTI0LjY3IDAgMTIyLjA4NVY5Ni4yMDZzOTguMDUtMjEuMzQ0IDExMy44NzktMjcuMDIzYzE1LjgyOC01LjY3OSAyMS4zMi01Ljg4NSAzNC43OS0uOTVDMTYyLjE0MiA3My4xNjggMjQyLjY4OCA4Ny42OTcgMjU2IDkyLjU3NGwtLjAwNiAyNS41MTNjLjAwMiAyLjU1Ny0zLjA3IDUuMzYzLTEwLjAyNCA4Ljk4NyIgZmlsbD0iIzkxMjYyNiIvPjxwYXRoIGQ9Ik0yNDUuOTY1IDEwMS4zNTFjLTEzLjY2MSA3LjEyLTg0LjQzMSAzNi4yMTgtOTkuNDk4IDQ0LjA3NS0xNS4wNjYgNy44NTQtMjMuNDM2IDcuNzc3LTM1LjMzOCAyLjA4Ny0xMS45MDMtNS42ODYtODcuMjE0LTM2LjExMi0xMDAuNzgtNDIuNTk0LTEzLjU2Ni02LjQ4My0xMy44NS0xMC45NDctLjUyNC0xNi4xNjdDMjMuMTUxIDgzLjUzNSA5OC4wNSA1NC4xNDggMTEzLjg4IDQ4LjQ3YzE1LjgyOC01LjY3OCAyMS4zMTktNS44ODQgMzQuNzg5LS45NDkgMTMuNDcxIDQuOTM0IDgzLjgxOSAzMi45MzMgOTcuMTMgMzcuODEgMTMuMzE2IDQuODggMTMuODI3IDguOS4xNjYgMTYuMDIiIGZpbGw9IiNDNjMwMkIiLz48cGF0aCBkPSJNMjQ1Ljk3IDgzLjY1M2MtMTMuNjYyIDcuMTItODQuNDM0IDM2LjIyLTk5LjUwMSA0NC4wNzgtMTUuMDY3IDcuODU0LTIzLjQzNyA3Ljc3Ny0zNS4zNCAyLjA4Ny0xMS45MDMtNS42ODctODcuMjE2LTM2LjExMy0xMDAuNzgzLTQyLjU5NUMzLjU2NiA4My45OCAwIDgxLjI0NyAwIDc4LjY2NXYtMjUuODhzOTguMDUtMjEuMzQzIDExMy44NzktMjcuMDIxYzE1LjgyOC01LjY4IDIxLjMyLTUuODg0IDM0Ljc5LS45NUMxNjIuMTQyIDI5Ljc0OSAyNDIuNjg4IDQ0LjI3OCAyNTYgNDkuMTU1bC0uMDA2IDI1LjUxMmMuMDAyIDIuNTU1LTMuMDcgNS4zNjEtMTAuMDI0IDguOTg2IiBmaWxsPSIjOTEyNjI2Ii8+PHBhdGggZD0iTTI0NS45NjUgNTcuOTNjLTEzLjY2MSA3LjEyLTg0LjQzMSAzNi4yMi05OS40OTggNDQuMDc0LTE1LjA2NiA3Ljg1NC0yMy40MzYgNy43NzctMzUuMzM4IDIuMDlDOTkuMjI3IDk4LjQwNCAyMy45MTUgNjcuOTggMTAuMzUgNjEuNDk3LTMuMjE3IDU1LjAxNS0zLjUgNTAuNTUgOS44MjUgNDUuMzMxIDIzLjE1MSA0MC4xMTMgOTguMDUgMTAuNzMgMTEzLjg4IDUuMDVjMTUuODI4LTUuNjc5IDIxLjMxOS01Ljg4MyAzNC43ODktLjk0OCAxMy40NzEgNC45MzUgODMuODE5IDMyLjkzNCA5Ny4xMyAzNy44MTEgMTMuMzE2IDQuODc2IDEzLjgyNyA4Ljg5Ny4xNjYgMTYuMDE3IiBmaWxsPSIjQzYzMDJCIi8+PHBhdGggZD0iTTE1OS4yODMgMzIuNzU3bC0yMi4wMSAyLjI4NS00LjkyNyAxMS44NTYtNy45NTgtMTMuMjMtMjUuNDE1LTIuMjg0IDE4Ljk2NC02LjgzOS01LjY5LTEwLjQ5OCAxNy43NTUgNi45NDQgMTYuNzM4LTUuNDgtNC41MjQgMTAuODU1IDE3LjA2NyA2LjM5MU0xMzEuMDMyIDkwLjI3NUw4OS45NTUgNzMuMjM4bDU4Ljg2LTkuMDM1LTE3Ljc4MyAyNi4wNzJNNzQuMDgyIDM5LjM0N2MxNy4zNzUgMCAzMS40NiA1LjQ2IDMxLjQ2IDEyLjE5NCAwIDYuNzM2LTE0LjA4NSAxMi4xOTUtMzEuNDYgMTIuMTk1cy0zMS40Ni01LjQ2LTMxLjQ2LTEyLjE5NWMwLTYuNzM0IDE0LjA4NS0xMi4xOTQgMzEuNDYtMTIuMTk0IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTE4NS4yOTUgMzUuOTk4bDM0LjgzNiAxMy43NjYtMzQuODA2IDEzLjc1My0uMDMtMjcuNTIiIGZpbGw9IiM2MjFCMUMiLz48cGF0aCBkPSJNMTQ2Ljc1NSA1MS4yNDNsMzguNTQtMTUuMjQ1LjAzIDI3LjUxOS0zLjc3OSAxLjQ3OC0zNC43OTEtMTMuNzUyIiBmaWxsPSIjOUEyOTI4Ii8+PC9zdmc+ spec: definition: title: "Redis Sink" description: "Write object to a Redis cache." required: - redisHost - redisPort - command type: object properties: redisHost: title: Redis Host description: The host where Redis server is running type: string redisPort: title: Redis Port description: The port where Redis server is running type: integer command: title: Command description: Redis Command type: string default: GET channels: title: Channels description: Redis Channels type: string default: one serializer: title: Serializer description: RedisSerializer fully qualified name implementation type: string default: org.springframework.data.redis.serializer.StringRedisSerializer dependencies: - "camel:kamelet" - "camel:core" - "camel:spring-redis" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[key]}" steps: - setHeader: name: CamelRedis.Key simple: "${header[key]}" - simple: "${header[ce-key]}" steps: - setHeader: name: CamelRedis.Key simple: "${header[ce-key]}" - choice: when: - simple: "${header[value]}" steps: - setHeader: name: CamelRedis.Value simple: "${header[value]}" - simple: "${header[ce-value]}" steps: - setHeader: name: CamelRedis.Value simple: "${header[ce-value]}" - choice: when: - simple: "${header[message]}" steps: - setHeader: name: CamelRedis.Message simple: "${header[message]}" - simple: "${header[ce-message]}" steps: - setHeader: name: CamelRedis.Message simple: "${header[ce-message]}" - choice: when: - simple: "${header[channel]}" steps: - setHeader: name: CamelRedis.Channel simple: "${header[channel]}" - simple: "${header[ce-channel]}" steps: - setHeader: name: CamelRedis.Channel simple: "${header[ce-channell]}" - setHeader: name: CamelRedis.Message simple: "${body}" - setHeader: name: CamelRedis.Value simple: "${body}" - to: uri: "spring-redis:{{redisHost}}:{{redisPort}}" parameters: command: "{{command}}" channels: "{{channels}}" serializer: "#class:{{serializer}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: redis-source labels: camel.apache.org/kamelet.type: "source" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Redis" camel.apache.org/kamelet.namespace: "Cache" camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjUwMCIgaGVpZ2h0PSIyMTQ4IiB2aWV3Qm94PSIwIDAgMjU2IDIyMCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWluWU1pbiBtZWV0Ij48cGF0aCBkPSJNMjQ1Ljk3IDE2OC45NDNjLTEzLjY2MiA3LjEyMS04NC40MzQgMzYuMjItOTkuNTAxIDQ0LjA3NS0xNS4wNjcgNy44NTYtMjMuNDM3IDcuNzgtMzUuMzQgMi4wOS0xMS45MDItNS42OS04Ny4yMTYtMzYuMTEyLTEwMC43ODMtNDIuNTk3QzMuNTY2IDE2OS4yNzEgMCAxNjYuNTM1IDAgMTYzLjk1MXYtMjUuODc2czk4LjA1LTIxLjM0NSAxMTMuODc5LTI3LjAyNGMxNS44MjgtNS42NzkgMjEuMzItNS44ODQgMzQuNzktLjk1IDEzLjQ3MiA0LjkzNiA5NC4wMTggMTkuNDY4IDEwNy4zMzEgMjQuMzQ0bC0uMDA2IDI1LjUxYy4wMDIgMi41NTgtMy4wNyA1LjM2NC0xMC4wMjQgOC45ODgiIGZpbGw9IiM5MTI2MjYiLz48cGF0aCBkPSJNMjQ1Ljk2NSAxNDMuMjJjLTEzLjY2MSA3LjExOC04NC40MzEgMzYuMjE4LTk5LjQ5OCA0NC4wNzItMTUuMDY2IDcuODU3LTIzLjQzNiA3Ljc4LTM1LjMzOCAyLjA5LTExLjkwMy01LjY4Ni04Ny4yMTQtMzYuMTEzLTEwMC43OC00Mi41OTQtMTMuNTY2LTYuNDg1LTEzLjg1LTEwLjk0OC0uNTI0LTE2LjE2NiAxMy4zMjYtNS4yMiA4OC4yMjQtMzQuNjA1IDEwNC4wNTUtNDAuMjg0IDE1LjgyOC01LjY3NyAyMS4zMTktNS44ODQgMzQuNzg5LS45NDggMTMuNDcxIDQuOTM0IDgzLjgxOSAzMi45MzUgOTcuMTMgMzcuODEgMTMuMzE2IDQuODgxIDEzLjgyNyA4LjkuMTY2IDE2LjAyIiBmaWxsPSIjQzYzMDJCIi8+PHBhdGggZD0iTTI0NS45NyAxMjcuMDc0Yy0xMy42NjIgNy4xMjItODQuNDM0IDM2LjIyLTk5LjUwMSA0NC4wNzgtMTUuMDY3IDcuODUzLTIzLjQzNyA3Ljc3Ny0zNS4zNCAyLjA4Ny0xMS45MDMtNS42ODctODcuMjE2LTM2LjExMi0xMDAuNzgzLTQyLjU5N0MzLjU2NiAxMjcuNDAyIDAgMTI0LjY3IDAgMTIyLjA4NVY5Ni4yMDZzOTguMDUtMjEuMzQ0IDExMy44NzktMjcuMDIzYzE1LjgyOC01LjY3OSAyMS4zMi01Ljg4NSAzNC43OS0uOTVDMTYyLjE0MiA3My4xNjggMjQyLjY4OCA4Ny42OTcgMjU2IDkyLjU3NGwtLjAwNiAyNS41MTNjLjAwMiAyLjU1Ny0zLjA3IDUuMzYzLTEwLjAyNCA4Ljk4NyIgZmlsbD0iIzkxMjYyNiIvPjxwYXRoIGQ9Ik0yNDUuOTY1IDEwMS4zNTFjLTEzLjY2MSA3LjEyLTg0LjQzMSAzNi4yMTgtOTkuNDk4IDQ0LjA3NS0xNS4wNjYgNy44NTQtMjMuNDM2IDcuNzc3LTM1LjMzOCAyLjA4Ny0xMS45MDMtNS42ODYtODcuMjE0LTM2LjExMi0xMDAuNzgtNDIuNTk0LTEzLjU2Ni02LjQ4My0xMy44NS0xMC45NDctLjUyNC0xNi4xNjdDMjMuMTUxIDgzLjUzNSA5OC4wNSA1NC4xNDggMTEzLjg4IDQ4LjQ3YzE1LjgyOC01LjY3OCAyMS4zMTktNS44ODQgMzQuNzg5LS45NDkgMTMuNDcxIDQuOTM0IDgzLjgxOSAzMi45MzMgOTcuMTMgMzcuODEgMTMuMzE2IDQuODggMTMuODI3IDguOS4xNjYgMTYuMDIiIGZpbGw9IiNDNjMwMkIiLz48cGF0aCBkPSJNMjQ1Ljk3IDgzLjY1M2MtMTMuNjYyIDcuMTItODQuNDM0IDM2LjIyLTk5LjUwMSA0NC4wNzgtMTUuMDY3IDcuODU0LTIzLjQzNyA3Ljc3Ny0zNS4zNCAyLjA4Ny0xMS45MDMtNS42ODctODcuMjE2LTM2LjExMy0xMDAuNzgzLTQyLjU5NUMzLjU2NiA4My45OCAwIDgxLjI0NyAwIDc4LjY2NXYtMjUuODhzOTguMDUtMjEuMzQzIDExMy44NzktMjcuMDIxYzE1LjgyOC01LjY4IDIxLjMyLTUuODg0IDM0Ljc5LS45NUMxNjIuMTQyIDI5Ljc0OSAyNDIuNjg4IDQ0LjI3OCAyNTYgNDkuMTU1bC0uMDA2IDI1LjUxMmMuMDAyIDIuNTU1LTMuMDcgNS4zNjEtMTAuMDI0IDguOTg2IiBmaWxsPSIjOTEyNjI2Ii8+PHBhdGggZD0iTTI0NS45NjUgNTcuOTNjLTEzLjY2MSA3LjEyLTg0LjQzMSAzNi4yMi05OS40OTggNDQuMDc0LTE1LjA2NiA3Ljg1NC0yMy40MzYgNy43NzctMzUuMzM4IDIuMDlDOTkuMjI3IDk4LjQwNCAyMy45MTUgNjcuOTggMTAuMzUgNjEuNDk3LTMuMjE3IDU1LjAxNS0zLjUgNTAuNTUgOS44MjUgNDUuMzMxIDIzLjE1MSA0MC4xMTMgOTguMDUgMTAuNzMgMTEzLjg4IDUuMDVjMTUuODI4LTUuNjc5IDIxLjMxOS01Ljg4MyAzNC43ODktLjk0OCAxMy40NzEgNC45MzUgODMuODE5IDMyLjkzNCA5Ny4xMyAzNy44MTEgMTMuMzE2IDQuODc2IDEzLjgyNyA4Ljg5Ny4xNjYgMTYuMDE3IiBmaWxsPSIjQzYzMDJCIi8+PHBhdGggZD0iTTE1OS4yODMgMzIuNzU3bC0yMi4wMSAyLjI4NS00LjkyNyAxMS44NTYtNy45NTgtMTMuMjMtMjUuNDE1LTIuMjg0IDE4Ljk2NC02LjgzOS01LjY5LTEwLjQ5OCAxNy43NTUgNi45NDQgMTYuNzM4LTUuNDgtNC41MjQgMTAuODU1IDE3LjA2NyA2LjM5MU0xMzEuMDMyIDkwLjI3NUw4OS45NTUgNzMuMjM4bDU4Ljg2LTkuMDM1LTE3Ljc4MyAyNi4wNzJNNzQuMDgyIDM5LjM0N2MxNy4zNzUgMCAzMS40NiA1LjQ2IDMxLjQ2IDEyLjE5NCAwIDYuNzM2LTE0LjA4NSAxMi4xOTUtMzEuNDYgMTIuMTk1cy0zMS40Ni01LjQ2LTMxLjQ2LTEyLjE5NWMwLTYuNzM0IDE0LjA4NS0xMi4xOTQgMzEuNDYtMTIuMTk0IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTE4NS4yOTUgMzUuOTk4bDM0LjgzNiAxMy43NjYtMzQuODA2IDEzLjc1My0uMDMtMjcuNTIiIGZpbGw9IiM2MjFCMUMiLz48cGF0aCBkPSJNMTQ2Ljc1NSA1MS4yNDNsMzguNTQtMTUuMjQ1LjAzIDI3LjUxOS0zLjc3OSAxLjQ3OC0zNC43OTEtMTMuNzUyIiBmaWxsPSIjOUEyOTI4Ii8+PC9zdmc+ spec: definition: title: "Redis Source" description: "Get Events from a Redis cache." required: - redisHost - redisPort - channels type: object properties: redisHost: title: Redis Host description: The host where Redis server is running type: string redisPort: title: Redis Port description: The port where Redis server is running type: integer command: title: Command description: Redis Command type: string default: SUBSCRIBE channels: title: Channels description: Redis Channels type: string default: one serializer: title: Serializer description: RedisSerializer fully qualified name implementation type: string default: org.springframework.data.redis.serializer.StringRedisSerializer dependencies: - "camel:kamelet" - "camel:core" - "camel:spring-redis" template: from: uri: "spring-redis:{{redisHost}}:{{redisPort}}" parameters: command: "{{command}}" channels: "{{channels}}" serializer: "#class:{{serializer}}" steps: - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: regex-router-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Regex Router Action" description: "Update the destination using the configured regular expression and replacement string." required: - regex - replacement properties: regex: title: Regex description: Regular Expression for destination type: string replacement: title: Replacement description: Replacement when matching type: string type: object dependencies: - "camel:kamelet" - "camel:core" - "camel:kafka" template: from: uri: kamelet:source steps: - setProperty: name: "regex" constant: "{{regex}}" - setProperty: name: "replacement" constant: "{{replacement}}" - bean: "org.apache.camel.component.kafka.transform.RegexRouter" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: replace-field-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" spec: definition: title: "Replace Field Action" description: Replace field with a different key in the message in transit. required: - renames properties: enabled: title: Enabled description: Comma separated list of fields to be enabled type: string default: "all" disabled: title: Disabled description: Comma separated list of fields to be disabled type: string default: "none" renames: title: Renames description: Comma separated list of field with new value to be renamed type: string example: "foo:bar,c1:c2" type: object types: in: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:kafka" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[Content-Type]} == 'application/json'" steps: - setProperty: name: deserialized constant: "true" - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setProperty: name: "enabled" constant: "{{enabled}}" - setProperty: name: "disabled" constant: "{{disabled}}" - setProperty: name: "renames" constant: "{{renames}}" - bean: "org.apache.camel.component.kafka.transform.ReplaceField" - choice: when: - simple: "${exchangeProperty[deserialized]} == 'true'" steps: - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: resolve-pojo-schema-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Resolve Schema Action" description: "Resolves schema from given mime type and payload. Sets the resolved schema, the schema type and its content class as properties for later reference." type: object properties: mimeType: title: Mime Type description: The mime type to determine the schema resolver implementation that should perform the operation. type: string default: "application/json" example: "application/json" schema: title: Schema description: Optional schema content (as single-line, using JSON format). type: string contentClass: title: Content Class description: Type information of the content object. Fully qualified class name. type: string example: "org.apache.camel.content.Foo" targetMimeType: title: Target Mime Type description: Additional mime type information used to determine the schema resolver. Usually only used in combination with mime type "application/x-java-object" type: string example: "application/json" dependencies: - "camel:kamelet" - "camel:core" - "camel:jackson-avro" - "camel:jackson-protobuf" template: beans: - name: schemaResolver type: "#class:org.apache.camel.component.kamelet.utils.format.schema.DelegatingSchemaResolver" properties: mimeType: '{{mimeType}}' schema: '{{schema:}}' contentClass: '{{contentClass:}}' targetMimeType: '{{targetMimeType:}}' from: uri: "kamelet:source" steps: - process: ref: "{{schemaResolver}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: rest-openapi-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAADICAIAAAAiOjnJAAAlvUlEQVR4nOydd1xT19vAT3YgCSEM2VtEEVABERXFvWqXVbHaOuqve7nbam1tq7bWLldbq9bVum1t3VtxsEQFBFQ2yAwJISRkJ+9HLy9SNDfJzT33JprvX7fk5Jyn8uXec895zjl0g8EAHDjAGyrZATh4MnGI5QAKDrEcQMEhlgMoOMRyAAWHWA6g4BDLARQcYjmAAp3sABwQQVNT0/Xr1wvyC8rKymtrayUSiVqtBgCw2WyBQODr6xMaGtYzKrJPnz5cLheXFimOkfcnGJVKdfbsuZMnT+bfyjfnF02n02Jj48aMHT1w4EA63aqbjkOsJxOVSvXXwb/379/X3CzF8PUuXbpMe2Xa2LFjaDQatgAcYj2BpKdnrF2ztr6+3sp6QkJD5s+f16NHDwzfdYj1RKFWq3/++ZfD/x7Gq0IqlTp9xvRp06ZSqZa95znEenKQSCRLP11aUFCIe80DkwYuWbKYxWKZ/xWHWE8IIpFowfyFlZWVkOqPiYlZ+fUKJycnM8s7xHoSkMlkH34wp7y8HGorsbGxX3+z0sy3RccAqd2j1+uXf7UCtlUAgOvXr69ds87Mwg6x7J5du3ZnZWUR09bRo0fPnDlrTkmHWPZNaWnpzh07iWxx3dp1YrHYZDGHWPbN+vUbtFotkS3KZLLNmzabLOYQy47JzMzMuZlDfLunTp0uL69AL+MQy47Zu2cfKe0aDIZ9e0007RDLXqmsrLp58yZZrZ8/f14mk6EUcIhlr5w17+0MEmq1+tKlSygFHGLZK+np6eQGkHY1DeVTh1h2iVQqLSkpITeGmzdzUKZtHGLZJUVFxaTPxcnl8urqamOfOsSySyorTLztEwPKnLcj5x1odCqtTqM36GhUOpvBQWbfLE0/IhihUEh2CPcRNhgN46kQS6VpbWipapBWiuW1Ynlds0LYohC3KJsUmhaFRm4w6JFiQ7qnvBQ39/6DpvTWomUznNgcDofH5wlc+e7uAk8Pd29vrwBf70A/nyBnJ3xWHGCmBfVVnzCkLS3GPnoyxZKrmstF+RWNBffEd+5JiprkdZbWYDAYWhWyVoVM2Fj76Kee7t7Bgd3Cgnt0DY3sHh7jwhPgFLi56IidxjGGXq839tGTI5ZCLbtTl3W3Pru4/nptcynUtoSiOqGoLutGKvKffj7BUT3iYyL79o7ux+O6Qm0agWbdEhq8oFAoxj6yifisQSSryam6kHcvtVSYpzfoSImhura8urb85LkDFAqlW1h0QmxyYvzQAL9QeC1yOBx4lZsPl2s0DHsVq1nRmF1+6lr5ySrxHbJjeYjBYLhTnHunOHfnvnWB/mGDEkcPSXrGy9MP94Y8PTxwrxMDnh6exj6yM7F0eu2t6stXi/8trE1v73TbJpX3Sv488POfB36O6hE/euiE/gnDmQwLFiOgExAYiFdV1uAfEGDsI7sRq0XZdKXo78tFfzUrGsmOxTJuFV67VXiNt4M/auiEcSNSPD28ra8zPLwrHqFZBYvFCgy0Z7GELffOFvyRUXpMq1eTHQt2WmTNBw9v/fvojkGJoyaMnxUS1M2a2gQCQVBQUAWpw6TR0VEo66RtWqwGaeXxvC3ZFadt/KlnPnq97uLV4xevHu8XN2TKhLfCgrtjrqpfYj9yxeqXmIjyqY2KJVU0HsnZmFF6jKwXPdhkZF/IyL7Qv+/wVye/5+8bgqGGYcOGmcy2gweVSk1OHoxSwObEUmuV5wp3nynYodIqyI4FOmlZZzOyL4wZ9tLUie+48CwbAAsP79q9e/fbt29Diw6NAQMGuLu7oxSwrRkxsbxu+eGUo7kbnwarEPR63bEz+96a/9zxM/tRBrIfy6DBg6DFZYKUlMnoBWxLLDeOtyfPn+woSEAml/6ydcVHX86sqCo28ys5N3MIXvjVTmJiYmTPSPQytiCWPlf8q0Td9g86JeEjOpVBdkjkcKcod+6SKfsObdLpTPQsc27mLF68RKlUEhXaQxgMxtvvvGWyGMlitWgqD1U8c6l+/qW6BchPPF0Ch/eYRm5UJKLVaf/Yv+HU+b9QypBoFQDgtdmv+fubfqqQKVZR84E9pYnVrakAgEr56RLpP8jPR0XNdOP4kBgYubwwbvrYEZOMfUquVYmJ/SZNmmhOSXLE0uqVF2o/PFUzQ61vbv/h5fpFGn0rAIBJZyN5UU8hL4yb/tq0ecY+JdeqkJCQxUsWo2Q0dIQEsWSa6r8rRuVLOi/TlmnvZTeuQq5jAgZH+g4gPjZysWWr/AP8v129yvysCqLFqlNk7C9LalBmP/bTG+I1Taq7yPXE+Hl0KpPY6MjElq2KiIj46acf3dzczP8KoWIVNe8/VDG2VddgrIDeoLlUPx+59uT5j4x8lcDoyMSWrRozZsxPP/0oEFiWJUucWDdEa07VzNIZVOjFquTniqVt70Qjo6a7PwW9eJu1ylXg+vmyzxcuWsBkWfzoIEisRmVeWsNSAMxaCne5/iONXgYAYNBYE+Pnw4+OTOBZxXgAtqicnNhTp768Y8f2wVgH9wkSy4MdPdJ3CwWYtRu9XFtzrfEb5DrKPynKLwlydKQBzyomk7l8xVe7dv85ffp0Hx8L7vqBQYGvv/H67j27Z/9vtjUJ0HAnofV6fUNjjXcXfwBAOH8SAOB0zWwDMJ2wcFO0PoL/ihurOwDgpbi5d+qyNDoTz1C7A6pVXy3/Mj4+HgAwY+b0GTOnFxUVXbuWXVhQWFJSIhQKO47s0+l0Ly+vsK5hkZGRffvGBwcHY/0f+g9wxfpl64qrmWeWL/4tJCjCIrf0QJNaN++FoGP373Y8v5E9ZxzL/Q1qqARDjFXthD8Audbr9c3NUrVKBSiAzWbzeDwYq3MhPgo371x98tzBFlnzpyvfKKtoW/IQzp9k5jOxuvXi3eb9yPWIyFc8uPgvSSALgq3qBJVKFQhcvby9vLy8+Hw+pDXfsMTae2jTvyf+RK4xu3Wl4WO1vuVBL575xPTi4VnFZrOXL/8K3SrCgCLWmQuH/ty/oeNPsLnVqq3LEq5Ernv6DYjxR0tZtAugWrVy5Yq4+DjrAsQN/MXKuZWxYctXj/4cm1u54p9FynzkekLcXAYNtxVUxAPbql69e1kXIJ7gLFZ1bcWqtQt1+sf3zTG4pQfa1Pq2X4Y712d01Ex8AyaMp8oqnMVqVciXf/+hTI528iIGt2paL99p3oNcD+8xzZNndC2bzfK0WYWzWGs2flZda/pEFwxuXW1YrNbd95VOY06yt178U2gVnmL9c2xnWpa5+/ha6lartj6zcTly3cM3sXfAUDxCJoKn0yrcxCouK9y+d61FX7HUrVzxr43KPOR6QtyHTBrbupCJ4Km1Ch+xlMrW79Z/rNVqLP2iRW4ZgC61bi4yjS3geI+OnmV14HAh0Sq1mpwEm47gINa23T/V1GFc622RW7WKtNuSXcj1sB5TvVyCsIYMHRKt2rlv/Y+/LsVQM75YK1ZufuaxM1Yt9LbIrasNS1Q6yf1ePJVhs2Px5Fq1/5/NVzJOX04/haF+HLFKLLVauX7zl9YHYb5bCp0wQ9g2+trdJ6FP4HDrW8cX0q1Crn/bsUomQxv3gY1VYu37Z0tdwz1c4jDfrVtNmxqVbWepTYj7kEU39/hrArARqwAAkmbR1t0/YmgIL7CLda+2/K8j23AMxUy3DEB34X4vXg8AcHXuMib6NRxjsAbbsQrhzMVDd4rzMDSHC9jF+v2P7zC8CaJjplv1ioxCSVvqxNDuL3vz8clNswZbswrZEHXjtq/J2loMo1jXc69eu3kZ72CA+W5dbfhUqWsCANCo9EnxC2BEYj42aBVCcVnBhcvHMLRrPVjE0uv123ZBfH6b45ZS15gh/AK57uYdHxc0El486NisVQg79q1Ta0jI6sYi1qW0E+VVRRCCeYg5buU3bWlQ3ECuX4z7gEV3hhrSY7FxqwAAInH9sdMkbPxnsVg6nXbXwV/gBPMfTLplAPqLdXMMD3rxfCfPcTH/IyCqjti+VQgHD/+uVBG9kZ3FYqWmnaitr4ITTGdMutWgvFbYtAO5To6Y7MOHeBhEJ+zFKgBAs7TpOOE3LcvE0uv1B/79HVowj8GkW2nCpUqdGOnFT+67kJio7MgqhEPHd6o1hG5mbplY126kVlXDPf/oUdDdUurE6Q2fI9ddvfrEB4+GHY/dWQUAaJI0nr98BMMXMUOx6ATYJStezyvIghmPUXhcfvv6RGR/kQ7rE6kTg897OcU/2Mdb9NXhyUqN3ERtbEGgW6SPa6gnz1/g7MVlu7LoHA6Lz2G5AABkMunVrLN1DVUVVcUlZYViycPjHu3RKoQA39D13x40c3cr67FArLLKux9+YmKvXKiguOXJjp0UcgG5jV24vedg9k+Pfp1KoYZ7xUX7D+ru08+izIja+qrc/MyM6xcC/cJmvjzHWDFbtgrhi49/6RPd38pKzMQCsX7ZuvK4dYkM1oPiVrL3mijB/x4c5KT79vj0GsnDQ949uH4Dw1/sFzqOx7ZghyeLsH2rAACJ8cMWz/3B+nrMwVyxlMrWme+NbFWYeMQQgDG3WDTBtNCbTnQPAEBJQ85Pp98EAPi6ho2Nnh0TMIRKgbjm2y6suv9+Q6P9vvakwJWII+loy5YtM6dcatqJS+kn4cdjGrVadSXjdGzMAOQfyJ3d05XZtbTlsNbQqtQ3hfCeQfaL1+hUSeETJics9OGHQu1Y2ItVyOwh30UQGdEHrwpRMPfvmOB3CnSMvScWSnbUKTKRHz7f592+IWMokPdpsiOrEAj7PZr17y5uEubmZ8IPxgKMuEXNEn5NWAx2ZxVyPGdZ5V3cq30Us8S6mnXWolEJYnjUrWcCDgz3/ZWY1u3RKoQrhGQtmyVWWuYZ+JFgoZNbQdxRznQvAtq1X6uQ2wS8ytsxLVaLTJp/5zoBoWADcatRVEdYi3ZtFQDgXk1ZTS30EzRN7+h3I/eKpcedEUxC3BAPdywHLcvl8uLiksrKSmFDg1wu12i0dAadw+F08fQMCAzs2jWMy+V2+oq9W4VwLefycz5wF8+ZFis79yrUCKykb5/B783+zKKvVFdXnz1zLiMj/c6duyh9RwqFEh4e3q9fwvDhwwMenKr9ZFiFJAA/NwbuSVimB0hnvTdK1GR0y39yCQoIX/3FDjbL3IU62dey9+7dm51t8ZO9V+9eAwYM2Pr71ifAKgAAi8ne9VsqgwHx4A8Td6zq2gqbtcqJ7fzJnO/NtKqsrHzDhg03rt/A1lbOzZycmznYvmtrVgEAVGplUemtyIhYeE2YECv/9uMPvbEF/vfqIl/vQJPF9Hr9nt17tm/fodVqCYnrP9igVQj5t2+QKdad4lx4bVtD76jEkUNeMFlMJpOtWL4iM5OcVB+btQoAUHj3JtT6TYpF2opHFOg0+puzPjFZTCQSLVr4UXm56b3gYGDLVgEAikvzodaPNo6lUivv1ZRBbR4bY0dM9vM28bYskUjmz1vgsMoYEqm4UVQPr340sSqqimxwBIvJYE16fjZ6GbVa/emSpVVVBC366ITtW4VQUl4Ir3I0scor4S4exMaI5Odd+e7oZTas31BYCPFfDQV7sQoAUFldAq9yNLHM2amWeJ4Z9TJ6gbSraUeOHCUqnP9gR1YBAO5VQ+znoIl1rwb6jJKldAuLDvALQSmgVCrXrLFsN1S8sC+rkElDeJWjiVUvxGfvKxwZOmg8eoEDBw4KhUKiwnkIi8VCtyrnVrpNWQUAwGtvs8eCJlZDYw28hrHRL3YIyqcKheLA/gMEhvMQCoUSGoa2DjssJJJGNescUMJokTUroC1iMCqWTC5VKole8I9OcEC4hztautWZ02daWloIjOghSqXy6BG0DYO4HJeI8BgCIzILePN1RsVqkoggNYmZqEgTB6adPEnmjq6nTploPaq7rRzN1Y64qRFSzUbFkjTbnFjhoVEonwqFjWQNMSBUPAClgA3esZqlYkg1GxWrRdYMqUnMhAV3R/n0+nXy58uvXUOLoX0tpO0A77dsVKxWhQxSk9igUCg+Xv4oBQryCwgM5/EUFqDF4OHmxWLZ1kkt8lZYXVKjk9AKJfmLnjviJujCYKCdgllaSv60ZkmJia14BvcfJxITl55vEjeBJ6SajYqlUpF/HktHeFwX9AK1tbVExWKU+noT07rvv25ZFrX9YvRRqMF7q20rcWJzUD41GAzNzeR3ClUqlVxuW3d6sjB6x6JSqFBzoi2Fx+WjfKrRaGwkEUOpVHI4Rv8G1FqlTm9Df7E0KoNJh9LtMypWyouvp7z4Oowmn2b2ZH6TVXaC7CgekhQ+ISVhEYya4e6ZQRhMJpNGs4kJEzYb7Qag0tjWZAadxoBU8xMiFgDA1dWV7BAAi8VCeQ7ef1Ca2sOSYGgU0wtLsWG03iLpwRzxOkitYoBJdXku8F+UAr6+PiIRybMF3t4mFmTLVBKiYjELBg1tBMcajIql0cvqFeQsbjGGRi9nUI3eD0JDQ/PybhEbUWfCwsLQC4hk1UTFYhZsBtr91RqMPgpZVPKfLJ1oUqFt7BTZsyeBsRiLIRLlU6lCpNLaVh/LiXix2DRY+8BiplGFtsgxLi6WsL2mjREfj5a/UCW+TWAsZsFhw7p9GBXLiQ5rsB8zda1ouwoKBIKYGDLTB0JDQwMCAlAKlIvIn83sBI8tgFSzUbE4dCwbA0GluvUieoHRY6AfS4HCqNEmjrYrqrtGVCzmwmObWO+EGeN9LJornQLrAYwNqaYMvZs1dOgQNzdynuDOzs7jxo5DKdCqbilrJPnd4hEoAmdYGyCijWO5MOHuzYWBkpZDKJ8ymcwpU1IIDOchEya8yOGi/R3eundZb9ARGJFpXJzcyBkgdWGgLbQihbvNe9ELPPf8c37+fkSF04abm1uKKaEzy44TFY65eHDR8tusBE0sAbMbvIax0aS+XdOKtsMgg8GYN3cuwa+HH875wNkZ7XxXsbzubr3NdbAsOlDIUtDEcmOhpQKTRY54PXqB3n16T06ZRFQ4YOy4sUlJSehlUu8eIOs0eRS8XEzvLoYZdLF6wGsYG67McOQkJnRmz54dhzqkhBcREREffPA+eplWtfRK0d8EBGMpvq5d4VWOLlZPqhm73xIDneKc6LlsSmhmAGeYycI0Gu3zzz/rFgH3Ue7v779y5Qom00TW2pmCP2xt7hnBXwDx3wdNLDqV7cZCm6MgjFDec1PDrsd5LKRR2n6LOr2JfR85HM63365Cn2OxhuCQ4B9/+sFVYGLkWiyvvXB7D6QYrIHv5Mlzgjg0YyJtposTyWss+cywZwMOjfXfzWO0DWor1LL9177//uT/TLrF4/G++2710GFDcY+qX7+EtWvXmDNmtj/rB42O0MOYzSTEE22RpvWYeNL5OPUvkGyFGoEx6BSnWI+FsW5zaNT21A5DZunxQzfWtyjFAIDTBTvHRM1Cr4TFYn366ZJevWI2/rpRocBheQiDwZg1a+akyZOoVNOpbFllJ25VX7K+URgEe0RDrd+UWM4DoDZvjBDuM0neq10YD9+HayTF+zJXlwgf7ol9PHdzd++EYA/TSQ3PPvtsQkLCr79uTL2Yak1UCQkJ77z7NvqEYDsiWc2+rO+saQ4qXbv0hlq/6QMEthdFyLTE7Wfkwggd5L06mDum/SdKjfxozqbUu/sfHbkWOHstGruda/YUfVFR0Z7dey5duqzTWTAITqFQEvsnpqRMjo42969crVX+eOqNe01EHOCGATaDs2rSKSoFYjK3abHO1b5bKNkGL4J2aBR2rPv8WPd5dOrDtPGsshOHbqyTKoymhoZ16fXesPUWTU00NUkuXriQlpael5enUqmMFWMymZGRkYn9E4cMSfb0tCDXQ6fXbUn9JK/aqrsjVKL9B72RvBpqE6bFKpb+dbL6VahBPDgRbsxgr+9cmA8nkWqbS/dlri5uMH2WRO+AYbMGLcdw6rNOp6uoqKisrBIKhS1SqU6vp1KpPB7Pw8MjICAgODiIwcAylbYrfWVaCVoWNemkJHyUFP4i1CZMD1MFcoZTKQy9AdZqOB4jaJDXauQsZwSlRn48d8uFO3vNnLUta8yVKhpdnbtY2jSNRgt9gKVfRKFV3WLOHwO59PSF3nU2/VfOpPF9nQbCaJtGYcW7fzQ1NLujVdnlp5cfnnLu9i4zreI7eXww4mcMVkHCmcn7YMTPnjyzOvikECCIEHCgHxdqQiw90Cp1TWEupg8XsZRAzqiXQ7P6dfmMTm07ZamuuXztmfe2XVnarDB3E1HEqi7/P+d14cpRIYEnYnZE3CQ8faFt3sbV2dOW3eodiP/A3qOYEIsK6GyaIMzlBQrA7Q2CxwgY47/72cC/+cy2NS0qTes/N9Z/c+yVIktSADpZdfjk7h9+XjJ3yZSsGyT0mnfuW79u0xd7/96E/Kctu9UnaDgBrdCWLVtmshCDyqlTZDZrrN1vnkphxrrPHeW304P9cNj3RuW5jRcXFNSkWTT//6hVm3asQo5pSb16XNRUHxkRy2TCWjT3KKHB3U+eO3gjL41KpUX1iENe6XsFDL1VfblVLSUsDJMEufcc2RP6q5i5Yj24ddHQszdNEsAZPj7gQFeXl2iUtletBmnltstLTxfssHSO1phV7ZSU3z6b+g/HmRcSFAEpN0sPdAWS7TdEP3R1eREACseZByggNz8zryDLlt0a1XN6kBlDytZjergBQatXbisKU+mxLOTl0v0Hen3z4BfQhlqrOHFr27nCXRi2XjFpVTveXv4bv/+XYvkwBDo6g7qoeX+2aLVEXQQAGOG7OYL/MrLx0/sfTaypqwAATJv4bvuWKpJW4doz7whbyDnYpyN0GnPFi4edWWj79uCFuf/odCo7gm/xKcJUCiPWfd7UsOsdrcqpurD88JTT+duhWgUAGDN8EmKVQivMFC5HPLCGZnVphvCrHcU9zta+0V7blfrFKl3z/Q4DnfHmjI+RH/55YIMN9rf6BA4nxioL7ljIQuRdpX3Mr9rfechg7x8ErIc7ugqlVfuvfV9Ym255nMBSqxgM5rb1p3hcVwBAduN36cLPAQCe7D6hvGf9nYd0cYqjmrcfht6gaVBcr5KfL5MdESofP0AVI3h7kHfbtOA3axZczTyDXNvafWvuqN9CPQlaemmBWPd/l5UvVMpPmyzGofsO7PJ1OH9i+0/UWuWp/B1nC/7Q6jHmkFhkFQBgaNL4uW8vBwAYgG5ncXSL5j8bZdMpzu6sSHd2tAsjmMvwY9M8GFQnKoWpN2i1erlC1yjT1Eg1pSJVfqMyT2cwkRZBAbTJIZc92Pd/Z0JR3bsLX1Sq2pbS245bge6RC8f8TlhzlolVKTt7uOo5lAJUQI9xe7ev52Imldv+w7x7lw5c+0Esx75HqKVWAQBWf7Ejouv933R5y/Gj9yZibtpMvJ0SXwo+c98xAA78+/uOvQ8PirIRt2YM/CI+mLgFvZZ1bAO5wz1YRu+lfs6DUkLTB3qtbLeqseXer+fn/XZxIcFWhQZ3R6wCANySbMLctPnUKdJvS/5Erl8Y96q/78NJT1vob7lxfPoEEjF81Y7Fb0xxHo/ZWdCZ7j3S9/cXgk60r7/Q6FTHcjevODo1vwZttZZJMFgFABg7vG2VjlRdUSkz/ezGhasNn6p099+a6R168QikuzWy53QaldDlCxaLFebyvBvr4UAIBdB6ub03LfRGN/7DFZu37l1ZceTl43mbtdZl5WKzytmJmzywbbV7vmSLARC07kqhE2YIv0Cue0X1S0oc1fFTEt1yde6SGPoMMW21Y7FYFEBN8PgUufZxHpgScjXJaxWT1rYJu0hW89uFhRsvzhfJrD2SDptVAIBhg8azWU4PBpxUBZLtVoZhEbeatgiVN5Hr2a8scGL/ZxUrWW6NjZ5NpxG9ATaWwcMwl+dCuM+M8N00Ieik+/9Pzmh06hN5W1cceTkPjyxvzFYhZ9wjFyXSQ0odrNOtHosB6C7WzUHuke6CLlMmvNmpAPFuefIC+hF+u8K+ue24gH0R/KnISxAAoKAm7eujU4/mbtTojCZkmo81VkX1iA/wa8uvutVERLe9E/WKrELJTuT62dHTAvw7bx5JsFsv9HmP4N4VgrXTHWJ53abUj345P1fYgk9evDVW3Td+RFu3XaS8VatIwyUkS0lrWKrUiR/04ulvzfjk0QKEuRXuFRcTkAyjZpNYJdb5wt0rDk/JrTKxH5r5WGmVgO+eGN+2TpqU2xWCUidKb2ib2o+OjE8eMPbRMgS4RaXQJsbNxbdOC1q35st6g16tw+0sJyutuv9SPXQCnc4AAKj1LXekZK4/LpBsbVBcR65fmzbfyekxW2fBdmtI9xRfAcTdGdCxSqwh3VP8cFr/b71VVCp19LAJyPVdyR6NnszzFg1A396LF7h6TH3p7ccWg+eWwNlrXLTp3VPgYZVYNCp9WuIS65enWW8VAKBvn8Ge7j7INTGj7eg0KLMLmtqWzY0fNSUoIPyxxSC5NaXfRywG2pZdsLG28x7gFjGy53RrasDFqo6jDDWtV0WqfGtCwos04ecKrejBciD6WzMf04tHwN2txLBnI+Gvw0EHhyS4sdGz/d0wnnaMl1XeXv59ohORaxK77Z1Q6cTpwraTL3t2jx2aZHQ8CUe33Dm+L8XNwfZdHMFBLBqVPnPAlxiOvcPLqk45fVamUONLgWR7+8kxs6bOc3bmGiuJi1tUCm1m0pfwDjKxIBJcavHiB02Mn2/RV3C0isFgjkx+HrkukGzXG2xq2yDDg1687r4ufPdpE99BKWq9W+N7vRnsAXd/IjPBLR+8f9iz5k8d4GgVACCp3ygkU9QAdPkS4nLZzESovJnf1BbVuBEpIUFo3QZr3Ir2GzSCkBU45oDnQoPJfRcFmNHZwteq+7+tkW3d9oqWU50yRW2E9IZlCq0QWdSP0otHwOaWJ9f/1QGfUQDJpwm1g6dYTDrr9cGr0I9nwd0q4nP6MKDSS9IaliLXPbr1Hj4YLQsXg1tODO4bQ75zYvLwC9lacF4aJeB4v5682liSBu5WkZXTh4HC5j9qFRnI9cyX53A4JiQw3y0qhToraYU3PxjvkK0C/6N7QzyiZgxY9ug9GYZVZOX0YcKQWjtH/6AXz3dxe2XSuya/YKZbKQkf9/DtByFgq4ByJnTvwGEvxc/r+BMYVpGb04eBRlXuLXGbKGOHTwoLNn0+g0m3xkW/PqCriQcrKcA6bDw5YlL7XBUkq8jN6cNGhvDLVm3Dg5lN2luzlpiz/B/FreSIlLExsyGHjBFz927AQLhXrFqnFMtqIFkV1SN+wvgZyPXFujlEbpSKGZ1BpdAJQ3n37zEebl6NovrSctPHrj52P4jeAUNSEh6zsMVGsGxdIQZalGIeu20/dBytAgAsen9VUuJoJKdvT5nNdTJQmBB0GtmOWtoieXvB8y2yZnO+1XF9okwpcWa5YNgdkzCgRwbJKhvJ6cPGxbo5eqAFALjwXF+Z/J6Z3+r4TOSyXW3ZKiLEQiituLNpx7c4Vmg7OX0YEKny80QbkevRQ1/qGmruvkJ/HtiQV5AFMzTcIEis0KCID99YRqPhk9VvUzl92MhsXC7X1iH/L2/P/MS8Tbwos19ZEB3Zl4DwrIe42+nw5Oc/W7DO2cno9L752FpOHwbUeunV+sXIdXhY1KihE9DLM5msRe+ven7sK4REhwOEPqf7xPT/dtl27y7Wnhhrgzl9GLgr3Vvd2rYGc3rKBy48o+druLl6rlyyudPSahuH6A5goH/Y91/92Tu6P+YabDOnDxuptXORDfR5XP70lA8eWyaia8wPy3d16wr3TCXcIeHNgsflL1u0YcqEN7HtDmqzOX0YEKsLc8S/INcjkl/oFtY5lWr86JdXLt3iJrDgwBUbgZxXViqVOvWlt7/8+FeBq4dFX7TtnD4sZDWulGtq2nrxs5a075jK5fA//vC7N6Z/xKBjOXaFdMgcC+kV1W/t1/vbh6PMwcZz+jCg0bdcaWjL0AoL6TFm+EQAQO+oxHXf7BuQMILs6LADfeTdHM5fPrJ552pzBqC/Xba9e3gvwvbpI4znA4/5c5IBADK5NO3auZHJ+B8FQjA2IRYAoEnSuGnn6svpJ1HKhARFrFm5F7k+UjWhQoZW2L4QMCNSQtPbT7x+ArCVaQGBq8ei91ctW/Szr3eQsTLtoww2ntOHAa1Baf1u4TaFrYiFENtrwLpVB2ZNncdx7pxg6ezEHfL/u2vYfE6fBTCp/AFdVkwLu+HOIuLACMKwlUdhJ1paJPv+3XL89D61pm3DrfGjprzxYGNPnUG1raibXWRfoUOlMHq6vtbXY7ET3bJXY7vARsVCEDcJDx7eevL8QbVateHbv5Ad1e427z1d8xrZoVkFlcLowX81zmMhjxFIdiywsGmxEJql4ozrF0YNaZtN+6t8BFk7qlkPg8qNdJ3V2+19LsOP7FjgYgdidUSsKtxdGk92FFhwYYREC97s4TqdRSPoNBtysTOxAAC1remFku3FLX/ZRbYMlcIM5Y2PdJ3pzxlKsbFXJajYn1gIGr28RPp3kfRglfyc4UE2pk1BAVRf56Rw/uSuvBdZNKNpC08w9ipWO0qduFx2orzlaJX8nFpP8nmTDCrHzzk5hDcuhDveiW5/M8c4YvditaM3aOsUGdXy1OrW1HpFltagIKZdKoXhxY735Qzyd072ce5PoxB3XrAt8+SI1RG9QdOozGtQZguVOSJlnlhdqNFbdjowCjSKk4AZ7s6O9mTHdGHHe7J706kW7w32xPNkivUIepmmRqIuaVaXyjT35NqaVl2DQitU6SVqnVSjl+sMyvahfBqFSQF0BpXDorkyqXw2zY3D8OHQfLgMPz4zlM/symX4PlXdcGw8JWI5IBrHX54DKDjEcgAFh1gOoOAQywEUHGI5gIJDLAdQcIjlAAr/FwAA///QJMTtZbTgfAAAAABJRU5ErkJggg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "HTTP" camel.apache.org/kamelet.namespace: "HTTP" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "REST OpenAPI Sink" description: Load an OpenAPI specification from a URI and call an operation on a HTTP service. The request that is generated respects the rules given in the OpenAPI specification (for example, path parameters and Content-Type). required: - specification - operation type: object properties: specification: title: Specification URI description: The URI to the OpenApi specification file. type: string example: "https://api.example.com/openapi.json" pattern: "^(http|https|file|classpath|ref|bean)://.*" operation: title: Operation ID description: The operation to call. type: string dependencies: - "camel:rest-openapi" - "camel:http" - "camel:kamelet" - "camel:core" template: from: uri: kamelet:source steps: - to: "rest-openapi:{{specification}}#{{operation}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: salesforce-composite-upsert-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCA0OCA0OCIgdmVyc2lvbj0iMS4xIj48ZyBpZD0ic3VyZmFjZTEiPjxwYXRoIGQ9Ik0zNi41IDEyYy0xLjMyNCAwLTIuNTkuMjU4LTMuNzU4LjcwM0E3Ljk5NCA3Ljk5NCAwIDAgMCAyNiA5Yy0yLjEwNSAwLTQuMDIuODItNS40NDUgMi4xNTJBOS40NjggOS40NjggMCAwIDAgMTMuNSA4QzguMjU0IDggNCAxMi4yNTQgNCAxNy41YzAgLjc5My4xMSAxLjU1OS4yOSAyLjI5M0E4LjQ3MiA4LjQ3MiAwIDAgMCAxIDI2LjVDMSAzMS4xOTUgNC44MDUgMzUgOS41IDM1Yy40MTQgMCAuODE2LS4wNCAxLjIxNS0uMDk4IDEuMzEyIDMgNC4zIDUuMDk4IDcuNzg1IDUuMDk4IDMuMTYgMCA1LjkxNC0xLjczIDcuMzc5LTQuMjkzQTcuOTIzIDcuOTIzIDAgMCAwIDI4IDM2YzIuNjIxIDAgNC45MzgtMS4yNjYgNi4zOTgtMy4yMS42OC4xMzYgMS4zODMuMjEgMi4xMDIuMjFDNDIuMyAzMyA0NyAyOC4zIDQ3IDIyLjVTNDIuMyAxMiAzNi41IDEyeiIgZmlsbD0iIzAzOUJFNSIvPjxwYXRoIGQ9Ik0xNS44MjQgMjVjLjA0MyAwIC4wNzQtLjAzNS4wNzQtLjA4MiAwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjEuNTA0IDIzLjkzNHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNy4xMzcgMjMuOTNhLjExNi4xMTYgMCAwIDEgLjAwNCAwaC0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yNC4xMjUgMjEuOTFjLS4wMTYuMDQtLjA0Ny4wNDMtLjA3LjA0M2guMDA4Yy4wMjMgMCAuMDUtLjAwOC4wNjItLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODI0IDE5Yy4wNDMgMCAuMDc0LjAzNS4wNzQuMDgyIDAtLjA0Ny0uMDMtLjA4Mi0uMDc0LS4wODJ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTIxLjM2IDIyLjE4NGMwIC40MS4yMS42NjQuNTAzLjgzNi0uMjkzLS4xNzItLjUwNC0uNDI2LS41MDQtLjgzNnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzguMTI1IDI0LjczYy4wMjcuMDYtLjAzMS4wODYtLjAzMS4wODZzLjA1OC0uMDI3LjAzMS0uMDg2eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik04LjU1OSAyMXoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNOS43NjYgMjEuOTFjLS4wMi4wNC0uMDQ3LjA0My0uMDc1LjA0M0g5LjdjLjAyOCAwIC4wNTEtLjAwOC4wNjctLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzUuMTk1IDI0LjE2NHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuODI4IDIxLjc5N2gtLjAyM3MuMDA4LjAwNC4wMjMuMDA0di0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zNy44MzIgMjQuMTg4cy4wMTYgMCAuMDM1LS4wMDRoLS4wMDRjLS4wMTUgMC0uMDMxLjAwMy0uMDMxLjAwM3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNi44ODcgMjQuNDZjLS4wMzIuMDcxLjAwOC4wODcuMDIuMDk5LjA4NS4wNTguMTcxLjA5Ny4yNjEuMTQ0LjQ2OS4yMy45MS4yOTcgMS4zNzUuMjk3Ljk0NSAwIDEuNTMxLS40NiAxLjUzMS0xLjIwN3YtLjAxNmMwLS42ODctLjY2NC0uOTM3LTEuMjg1LTEuMTE3bC0uMDc4LS4wMjNjLS40NjktLjE0LS44NzEtLjI2Mi0uODcxLS41NDd2LS4wMTZjMC0uMjQyLjIzNC0uNDIyLjYwMS0uNDIyLjQwNyAwIC44ODcuMTI1IDEuMi4yODUgMCAwIC4wOS4wNTUuMTI1LS4wMjcuMDE1LS4wNDMuMTc1LS40MzMuMTkxLS40NzYuMDItLjA0My0uMDE2LS4wNzktLjA0Ny0uMDk4QTIuODQ1IDIuODQ1IDAgMCAwIDguNTYgMjFoLS4wOTRjLS44NjMgMC0xLjQ2OS40OC0xLjQ2OSAxLjE3MnYuMDEyYzAgLjcyNi42NjQuOTY0IDEuMjkgMS4xMjhsLjEuMDI4Yy40NTQuMTI5Ljg0NC4yMzguODQ0LjUzMXYuMDE2YzAgLjI3LS4yNTMuNDcyLS42NjQuNDcyLS4xNiAwLS42NjgtLjAwNC0xLjIxNC0uMzI0YTIuNDUgMi40NSAwIDAgMS0uMTU3LS4wOWMtLjAyNy0uMDE1LS4wOTMtLjA0My0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMS4yNDYgMjQuNDZjLS4wMjcuMDcxLjAxMi4wODcuMDIuMDk5LjA5LjA1OC4xNzUuMDk3LjI2MS4xNDQuNDcuMjMuOTE0LjI5NyAxLjM4LjI5Ny45NCAwIDEuNTI3LS40NiAxLjUyNy0xLjIwN3YtLjAxNmMwLS42ODctLjY2LS45MzctMS4yODItMS4xMTdsLS4wODItLjAyM2MtLjQ2NS0uMTQtLjg3LS4yNjItLjg3LS41NDd2LS4wMTZjMC0uMjQyLjIzOC0uNDIyLjYwNS0uNDIyLjQwNiAwIC44ODYuMTI1IDEuMTk5LjI4NSAwIDAgLjA5LjA1NS4xMjUtLjAyNy4wMTYtLjA0My4xNzItLjQzMy4xOTEtLjQ3Ni4wMTYtLjA0My0uMDE1LS4wNzktLjA0Ny0uMDk4QTIuODU3IDIuODU3IDAgMCAwIDIyLjkyMiAyMWgtLjA5OGMtLjg2MyAwLTEuNDY1LjQ4LTEuNDY1IDEuMTcydi4wMTJjMCAuNzI2LjY2NC45NjQgMS4yOSAxLjEyOGwuMDk3LjAyOGMuNDU3LjEyOS44NDguMjM4Ljg0OC41MzF2LjAxNmMwIC4yNy0uMjU0LjQ3Mi0uNjY0LjQ3Mi0uMTYgMC0uNjY4LS4wMDQtMS4yMTUtLjMyNGEyLjQ1IDIuNDUgMCAwIDEtLjE1Ni0uMDljLS4wMi0uMDA4LS4wOTgtLjAzOS0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zMS40NjUgMjIuMjE5YTEuNzE0IDEuNzE0IDAgMCAwLS4zNi0uNjMzIDEuNzQgMS43NCAwIDAgMC0uNjAxLS40MyAyLjE4NyAyLjE4NyAwIDAgMC0uODQ4LS4xNTZjLS4zMTYgMC0uNjAxLjA1NS0uODQzLjE1NmExLjY3IDEuNjcgMCAwIDAtLjYwMi40M2MtLjE2NC4xNzYtLjI4MS4zOS0uMzYuNjMzYTIuNTQ0IDIuNTQ0IDAgMCAwLS4xMTcuNzg1YzAgLjI3Ny4wNC41NDMuMTE4Ljc4NWExLjY5MSAxLjY5MSAwIDAgMCAuOTYgMS4wNTljLjI0My4wOTcuNTI4LjE1Mi44NDQuMTUyLjMyIDAgLjYwNi0uMDUuODQ4LS4xNTIuMjM4LS4xMDIuNDQxLS4yNDYuNjAxLS40MjIuMTYtLjE4LjI4Mi0uMzk1LjM2LS42MzcuMDc4LS4yNDIuMTE3LS41MDQuMTE3LS43ODVzLS4wMzktLjU0My0uMTE3LS43ODVtLS43OS43ODVjMCAuNDIyLS4wODEuNzU4LS4yNS45OTItLjE2Ny4yMzQtLjQxNy4zNDgtLjc2OS4zNDgtLjM0NyAwLS41OTctLjExNC0uNzYxLS4zNDgtLjE2OC0uMjM0LS4yNS0uNTctLjI1LS45OTIgMC0uNDIyLjA4NS0uNzU4LjI1LS45ODguMTY0LS4yMzUuNDE0LS4zNDQuNzYxLS4zNDQuMzUyIDAgLjYwMi4xMS43Ny4zNDQuMTY4LjIzLjI1LjU2Ni4yNS45ODgiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuOTM0IDI0LjIzNGMtLjAyOC0uMDc0LS4xMDItLjA0Ny0uMTAyLS4wNDdhMS43NDMgMS43NDMgMCAwIDEtLjM2Ny4wOTggMi44OCAyLjg4IDAgMCAxLS40My4wMzFjLS4zODMgMC0uNjgzLS4xMDUtLjkwMi0uMzEyLS4yMTUtLjIxMS0uMzM2LS41NDctLjMzNi0xIDAtLjQxNC4xMS0uNzI3LjMtLjk2NS4xOTItLjIzNC40ODUtLjM1NS44NzYtLjM1NS4zMjQgMCAuNTc0LjAzNS44MzIuMTA5IDAgMCAuMDYyLjAyNy4wOS0uMDUuMDctLjE3Ny4xMi0uMzAyLjE5NS0uNDk3LjAyLS4wNTgtLjAzMS0uMDgyLS4wNS0uMDg2YTMuMjQgMy4yNCAwIDAgMC0uNTI0LS4xMjUgNC40MzUgNC40MzUgMCAwIDAtLjU5LS4wMzVjLS4zMzIgMC0uNjI1LjA1NS0uODguMTU2YTEuODQyIDEuODQyIDAgMCAwLS42MzYuNDI2Yy0uMTY4LjE4LS4yOTcuMzk1LS4zODMuNjM3YTIuMzE1IDIuMzE1IDAgMCAwLS4xMjkuNzg1YzAgLjYwNS4xNzYgMS4wOTQuNTI4IDEuNDUzLjM0Ny4zNi44Ny41NDMgMS41NTQuNTQzLjQwMyAwIC44MTctLjA3NCAxLjExNC0uMTg0IDAgMCAuMDU4LS4wMjcuMDM1LS4wODZ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTQxLjk2NSAyMi4wODJhMS41MiAxLjUyIDAgMCAwLS4zNDQtLjU3OCAxLjUxNiAxLjUxNiAwIDAgMC0uNTA0LS4zNiAyLjEwNSAyLjEwNSAwIDAgMC0uNzY1LS4xNDRjLS4zMzIgMC0uNjMzLjA1LS44OC4xNi0uMjQ1LjEwNi0uNDUyLjI1LS42MTMuNDM0LS4xNjQuMTgtLjI4NS4zOTgtLjM2My42NGEyLjYwNSAyLjYwNSAwIDAgMC0uMTE3Ljc5YzAgLjI4NS4wNDMuNTUuMTIxLjc5Mi4wODIuMjM5LjIxLjQ1NC4zODcuNjMuMTc1LjE3NS40MDIuMzEyLjY3Mi40MS4yNjUuMDk3LjU5My4xNDguOTY4LjE0NC43NyAwIDEuMTc2LS4xNiAxLjM0LS4yNDYuMDMxLS4wMTYuMDU5LS4wNDMuMDI0LS4xMTdsLS4xNzItLjQ1M2MtLjAyOC0uMDctLjEwMi0uMDQzLS4xMDItLjA0My0uMTkxLjA2Mi0uNDYuMTgzLTEuMDk0LjE4LS40MTQgMC0uNzIyLS4xMS0uOTE0LS4yOS0uMTk1LS4xOC0uMjkzLS40NDUtLjMwOC0uODJoMi42NjRzLjA3IDAgLjA3OC0uMDY2Yy4wMDQtLjAyOC4wOS0uNTA4LS4wNzgtMS4wNjNtLTIuNjUzLjUxNmMuMDM2LS4yMzUuMTA2LS40MzQuMjE1LS41ODIuMTY0LS4yMzUuNDEtLjM2Ljc2Mi0uMzYuMzUyIDAgLjU4Mi4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTguNTgyeiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMC40NTMgMjIuMDgyYTEuNTE3IDEuNTE3IDAgMCAwLS4zNC0uNTc4IDEuNDkgMS40OSAwIDAgMC0uNTA4LS4zNiAyLjA4MyAyLjA4MyAwIDAgMC0uNzYxLS4xNDRjLS4zMzIgMC0uNjM3LjA1LS44ODMuMTYtLjI0Mi4xMDYtLjQ1LjI1LS42MTMuNDM0YTEuNzggMS43OCAwIDAgMC0uMzYuNjQgMi42MDUgMi42MDUgMCAwIDAtLjExNy43OWMwIC4yODUuMDQuNTUuMTIxLjc5Mi4wNzguMjM5LjIxMS40NTQuMzg3LjYzLjE3Ni4xNzUuMzk4LjMxMi42NjguNDEuMjcuMDk3LjU5NC4xNDguOTY5LjE0NC43NyAwIDEuMTc1LS4xNiAxLjM0My0uMjQ2LjAzMi0uMDE2LjA1NS0uMDQzLjAyNC0uMTE3bC0uMTc2LS40NTNjLS4wMjctLjA3LS4xMDItLjA0My0uMTAyLS4wNDMtLjE5LjA2Mi0uNDYuMTgzLTEuMDkzLjE4LS40MTQgMC0uNzE5LS4xMS0uOTEtLjI5LS4yLS4xOC0uMjk3LS40NDUtLjMxMy0uODJoMi42NjhzLjA3IDAgLjA3OC0uMDY2YzAtLjAyOC4wOS0uNTA4LS4wODItMS4wNjNtLTIuNjUyLjUxNmMuMDM5LS4yMzUuMTEtLjQzNC4yMTUtLjU4Mi4xNjQtLjIzNS40MTQtLjM2Ljc2NS0uMzYuMzQ4IDAgLjU3OC4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTc2LjU4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTIuOTMgMjIuNDhjLS4xMS0uMDAzLS4yNDYtLjAwNy0uNDE0LS4wMDctLjIzIDAtLjQ1NC4wMjMtLjY2LjA3OC0uMjA4LjA1LS4zOTUuMTI5LS41NTUuMjM4LS4xNi4xMDYtLjI5My4yNDItLjM4Ny40MDZhMS4xMzUgMS4xMzUgMCAwIDAtLjE0NC41N2MwIC4yMi4wNDMuNDEuMTI1LjU2My4wNzguMTU2LjE5NS4yODUuMzQzLjM4Ny4xNDkuMTAxLjMzMi4xNzYuNTQzLjIxOS4yMTEuMDQzLjQ1LjA2Ni43MTEuMDY2LjI3NCAwIC41NDMtLjAyLjgwOS0uMDYzLjI2MS0uMDQyLjU4Mi0uMTAxLjY3Mi0uMTIuMDktLjAyLjE4Ny0uMDQ0LjE4Ny0uMDQ0LjA2Ny0uMDE1LjA1OS0uMDgyLjA1OS0uMDgydi0yLjI1N2MwLS40OTctLjE0NS0uODY0LS40MjItMS4wOTQtLjI4MS0uMjI3LS42OTUtLjM0LTEuMjI3LS4zNC0uMTk5IDAtLjUyLjAyMy0uNzE1LjA2MyAwIDAtLjU4Mi4xMDEtLjgyLjI3NyAwIDAtLjA1NS4wMzEtLjAyMy4wOThsLjE4Ny40NjhjLjAyNC4wNjMuMDg2LjA0My4wODYuMDQzcy4wMjQtLjAwOC4wNDctLjAyM2MuNTEyLS4yNTggMS4xNi0uMjUgMS4xNi0uMjUuMjkgMCAuNTEyLjA1NC42Ni4xNi4xNDUuMTA1LjIyLjI1OC4yMi41OXYuMTA1Yy0uMjMxLS4wMzEtLjQ0Mi0uMDUtLjQ0Mi0uMDVtLTEuMDYzIDEuNzM4YS41MzguNTM4IDAgMCAxLS4xNTItLjE0OS41Ny41NyAwIDAgMS0uMDc4LS4zMmMwLS4yMTkuMDc4LS4zNzEuMjM4LS40NzctLjAwNCAwIC4yMy0uMTg3Ljc3My0uMTguMzguMDA1LjcyMy4wNTUuNzIzLjA1NXYxLjEyNXMtLjM0LjA2Ny0uNzE5LjA4NmMtLjU0My4wMzItLjc4NS0uMTQtLjc4NS0uMTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzQuNzYyIDIxLjE2OGMuMDItLjA1OS0uMDI0LS4wODItLjA0My0uMDlhMi41MjYgMi41MjYgMCAwIDAtLjQ0Ni0uMDc0Yy0uMzM2LS4wMi0uNTIuMDM1LS42ODcuMTA1LS4xNjguMDctLjM1Mi4xODgtLjQ1LjMybC0uMDAzLS4zMTJjMC0uMDQzLS4wMzEtLjA3OC0uMDc0LS4wNzhoLS42ODRhLjA3Ni4wNzYgMCAwIDAtLjA3OC4wNzh2My44MDVjMCAuMDQzLjAzOS4wNzguMDgyLjA3OGguN2EuMDguMDggMCAwIDAgLjA4MS0uMDc4di0xLjg5OWMwLS4yNTcuMDI4LS41MTEuMDg2LS42NzFhLjk2NC45NjQgMCAwIDEgLjIzNC0uMzc1Ljg2Ljg2IDAgMCAxIC4zMzMtLjE5MiAxLjM1IDEuMzUgMCAwIDEgLjM1NS0uMDQ3Yy4xNCAwIC4yOTMuMDM1LjI5My4wMzUuMDUuMDA0LjA3OC0uMDI3LjA5OC0uMDcuMDQ2LS4xMTMuMTc1LS40NjUuMjAzLS41MzUiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjguMjAzIDE5LjEwNWExLjk1IDEuOTUgMCAwIDAtLjYyNS0uMDljLS40ODQgMC0uODYzLjEzNy0xLjEyOS40MDctLjI2NS4yNjUtLjQ0NS42NzYtLjUzOSAxLjIxbC0uMDQ3LjM2NGgtLjYwNXMtLjA3NC0uMDA0LS4wOS4wNzhsLS4wOTguNTU1Yy0uMDA4LjA1NS4wMTYuMDg2LjA4Ni4wODZoLjU5bC0uNTk4IDMuMzM2YTQuNDMgNC40MyAwIDAgMS0uMTYuNjYgMS40MjIgMS40MjIgMCAwIDEtLjE4Ny4zNzkuNTA1LjUwNSAwIDAgMS0uMjQyLjE4NyAxIDEgMCAwIDEtLjMxNy4wNDMuOTcuOTcgMCAwIDEtLjIxLS4wMjMuNTguNTggMCAwIDEtLjE0NS0uMDQzcy0uMDctLjAyNy0uMDk4LjA0M2MtLjAyMy4wNTUtLjE4LjQ4OC0uMTk1LjUzOS0uMDIuMDU1LjAwNC4wOTQuMDM5LjEwNS4wNzguMDMyLjEzNy4wNDcuMjQyLjA3NS4xNDguMDM1LjI3My4wMzUuMzkuMDM1LjI0NyAwIC40Ny0uMDM1LjY1Ny0uMTAyLjE4Ny0uMDY2LjM0OC0uMTgzLjQ5Mi0uMzQ0LjE1Ni0uMTcxLjI1NC0uMzUxLjM0OC0uNTkzLjA5LS4yNDYuMTY4LS41NDcuMjM0LS44OTlsLjU5OC0zLjM5OGguODc5cy4wNzQuMDA0LjA5LS4wNzhsLjA5Ny0uNTU1Yy4wMDgtLjA1LS4wMTUtLjA4Ni0uMDg2LS4wODZoLS44NTFjLjAwNC0uMDIuMDU4LS41MDQuMTU2LS43ODVhLjc4OC43ODggMCAwIDEgLjE4Ny0uMjg1LjU2Ni41NjYgMCAwIDEgLjIyMy0uMTQgMS4xNjUgMS4xNjUgMCAwIDEgLjUwNC0uMDJjLjA4Mi4wMi4xMTcuMDI3LjEzNy4wMzUuMDkuMDI3LjA5NyAwIC4xMTctLjA0M2wuMjAzLS41NTljLjAyMy0uMDU4LS4wMjctLjA4Ni0uMDQ3LS4wOTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODk4IDI0LjkxOGMwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MmgtLjcwN2MtLjA0NyAwLS4wNzgtLjAzNS0uMDc4LS4wODJ2LTUuODM2YzAtLjA0Ny4wMzEtLjA4Mi4wNzgtLjA4MmguNzA3Yy4wNDMgMCAuMDc0LjA0LjA3NC4wODJ6IiBmaWxsPSIjRkZGIi8+PC9nPjxtZXRhZGF0YT48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zOnJkZnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PHJkZjpEZXNjcmlwdGlvbiBhYm91dD0iaHR0cHM6Ly9pY29uc2NvdXQuY29tL2xlZ2FsI2xpY2Vuc2VzIiBkYzp0aXRsZT0ic2FsZXNmb3JjZSIgZGM6ZGVzY3JpcHRpb249InNhbGVzZm9yY2UiIGRjOnB1Ymxpc2hlcj0iSWNvbnNjb3V0IiBkYzpkYXRlPSIyMDE3LTEyLTE1IiBkYzpmb3JtYXQ9ImltYWdlL3N2Zyt4bWwiIGRjOmxhbmd1YWdlPSJlbiI+PGRjOmNyZWF0b3I+PHJkZjpCYWc+PHJkZjpsaT5JY29uczg8L3JkZjpsaT48L3JkZjpCYWc+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L21ldGFkYXRhPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Salesforce" camel.apache.org/kamelet.namespace: "Salesforce" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Salesforce composite upsert Sink" description: Upsert Composite List of sObjects in Salesforce. required: - sObjectName - sObjectIdName - clientId - clientSecret - userName - password type: object properties: sObjectName: title: Object Name description: The type of the Salesforce object. Required if using a key-value pair. type: string example: Contact sObjectIdName: title: Object Id Name description: The Field Name of the External ID of the Salesforce object. Required if using a key-value pair. type: string loginUrl: title: Login URL description: The Salesforce instance login URL. type: string default: https://login.salesforce.com clientId: title: Consumer Key description: The Salesforce application consumer key. type: string x-descriptors: - urn:camel:group:credentials clientSecret: title: Consumer Secret description: The Salesforce application consumer secret. type: string format: password x-descriptors: - urn:camel:group:credentials userName: title: Username description: The Salesforce username. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The Salesforce user password. type: string format: password x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:core" - "camel:jsonpath" - "camel:jackson" - "camel:salesforce" - "camel:kamelet" template: beans: - name: salesforce type: "#class:org.apache.camel.component.salesforce.SalesforceComponent" properties: sObjectName: "{{sObjectName}}" sObjectIdName: "{{sObjectIdName}}" clientId: "{{clientId}}" clientSecret: "{{clientSecret}}" userName: "{{userName}}" password: "{{password}}" loginUrl: "{{loginUrl}}" from: uri: kamelet:source steps: - transform: jsonpath: "$['records']" - to: uri: "{{salesforce}}:compositeUpsertSObjectCollections" parameters: sObjectName: "{{sObjectName}}" sObjectIdName: "{{sObjectIdName}}" rawPayload: "true" allOrNone: "false" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: salesforce-create-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCA0OCA0OCIgdmVyc2lvbj0iMS4xIj48ZyBpZD0ic3VyZmFjZTEiPjxwYXRoIGQ9Ik0zNi41IDEyYy0xLjMyNCAwLTIuNTkuMjU4LTMuNzU4LjcwM0E3Ljk5NCA3Ljk5NCAwIDAgMCAyNiA5Yy0yLjEwNSAwLTQuMDIuODItNS40NDUgMi4xNTJBOS40NjggOS40NjggMCAwIDAgMTMuNSA4QzguMjU0IDggNCAxMi4yNTQgNCAxNy41YzAgLjc5My4xMSAxLjU1OS4yOSAyLjI5M0E4LjQ3MiA4LjQ3MiAwIDAgMCAxIDI2LjVDMSAzMS4xOTUgNC44MDUgMzUgOS41IDM1Yy40MTQgMCAuODE2LS4wNCAxLjIxNS0uMDk4IDEuMzEyIDMgNC4zIDUuMDk4IDcuNzg1IDUuMDk4IDMuMTYgMCA1LjkxNC0xLjczIDcuMzc5LTQuMjkzQTcuOTIzIDcuOTIzIDAgMCAwIDI4IDM2YzIuNjIxIDAgNC45MzgtMS4yNjYgNi4zOTgtMy4yMS42OC4xMzYgMS4zODMuMjEgMi4xMDIuMjFDNDIuMyAzMyA0NyAyOC4zIDQ3IDIyLjVTNDIuMyAxMiAzNi41IDEyeiIgZmlsbD0iIzAzOUJFNSIvPjxwYXRoIGQ9Ik0xNS44MjQgMjVjLjA0MyAwIC4wNzQtLjAzNS4wNzQtLjA4MiAwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjEuNTA0IDIzLjkzNHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNy4xMzcgMjMuOTNhLjExNi4xMTYgMCAwIDEgLjAwNCAwaC0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yNC4xMjUgMjEuOTFjLS4wMTYuMDQtLjA0Ny4wNDMtLjA3LjA0M2guMDA4Yy4wMjMgMCAuMDUtLjAwOC4wNjItLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODI0IDE5Yy4wNDMgMCAuMDc0LjAzNS4wNzQuMDgyIDAtLjA0Ny0uMDMtLjA4Mi0uMDc0LS4wODJ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTIxLjM2IDIyLjE4NGMwIC40MS4yMS42NjQuNTAzLjgzNi0uMjkzLS4xNzItLjUwNC0uNDI2LS41MDQtLjgzNnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzguMTI1IDI0LjczYy4wMjcuMDYtLjAzMS4wODYtLjAzMS4wODZzLjA1OC0uMDI3LjAzMS0uMDg2eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik04LjU1OSAyMXoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNOS43NjYgMjEuOTFjLS4wMi4wNC0uMDQ3LjA0My0uMDc1LjA0M0g5LjdjLjAyOCAwIC4wNTEtLjAwOC4wNjctLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzUuMTk1IDI0LjE2NHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuODI4IDIxLjc5N2gtLjAyM3MuMDA4LjAwNC4wMjMuMDA0di0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zNy44MzIgMjQuMTg4cy4wMTYgMCAuMDM1LS4wMDRoLS4wMDRjLS4wMTUgMC0uMDMxLjAwMy0uMDMxLjAwM3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNi44ODcgMjQuNDZjLS4wMzIuMDcxLjAwOC4wODcuMDIuMDk5LjA4NS4wNTguMTcxLjA5Ny4yNjEuMTQ0LjQ2OS4yMy45MS4yOTcgMS4zNzUuMjk3Ljk0NSAwIDEuNTMxLS40NiAxLjUzMS0xLjIwN3YtLjAxNmMwLS42ODctLjY2NC0uOTM3LTEuMjg1LTEuMTE3bC0uMDc4LS4wMjNjLS40NjktLjE0LS44NzEtLjI2Mi0uODcxLS41NDd2LS4wMTZjMC0uMjQyLjIzNC0uNDIyLjYwMS0uNDIyLjQwNyAwIC44ODcuMTI1IDEuMi4yODUgMCAwIC4wOS4wNTUuMTI1LS4wMjcuMDE1LS4wNDMuMTc1LS40MzMuMTkxLS40NzYuMDItLjA0My0uMDE2LS4wNzktLjA0Ny0uMDk4QTIuODQ1IDIuODQ1IDAgMCAwIDguNTYgMjFoLS4wOTRjLS44NjMgMC0xLjQ2OS40OC0xLjQ2OSAxLjE3MnYuMDEyYzAgLjcyNi42NjQuOTY0IDEuMjkgMS4xMjhsLjEuMDI4Yy40NTQuMTI5Ljg0NC4yMzguODQ0LjUzMXYuMDE2YzAgLjI3LS4yNTMuNDcyLS42NjQuNDcyLS4xNiAwLS42NjgtLjAwNC0xLjIxNC0uMzI0YTIuNDUgMi40NSAwIDAgMS0uMTU3LS4wOWMtLjAyNy0uMDE1LS4wOTMtLjA0My0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMS4yNDYgMjQuNDZjLS4wMjcuMDcxLjAxMi4wODcuMDIuMDk5LjA5LjA1OC4xNzUuMDk3LjI2MS4xNDQuNDcuMjMuOTE0LjI5NyAxLjM4LjI5Ny45NCAwIDEuNTI3LS40NiAxLjUyNy0xLjIwN3YtLjAxNmMwLS42ODctLjY2LS45MzctMS4yODItMS4xMTdsLS4wODItLjAyM2MtLjQ2NS0uMTQtLjg3LS4yNjItLjg3LS41NDd2LS4wMTZjMC0uMjQyLjIzOC0uNDIyLjYwNS0uNDIyLjQwNiAwIC44ODYuMTI1IDEuMTk5LjI4NSAwIDAgLjA5LjA1NS4xMjUtLjAyNy4wMTYtLjA0My4xNzItLjQzMy4xOTEtLjQ3Ni4wMTYtLjA0My0uMDE1LS4wNzktLjA0Ny0uMDk4QTIuODU3IDIuODU3IDAgMCAwIDIyLjkyMiAyMWgtLjA5OGMtLjg2MyAwLTEuNDY1LjQ4LTEuNDY1IDEuMTcydi4wMTJjMCAuNzI2LjY2NC45NjQgMS4yOSAxLjEyOGwuMDk3LjAyOGMuNDU3LjEyOS44NDguMjM4Ljg0OC41MzF2LjAxNmMwIC4yNy0uMjU0LjQ3Mi0uNjY0LjQ3Mi0uMTYgMC0uNjY4LS4wMDQtMS4yMTUtLjMyNGEyLjQ1IDIuNDUgMCAwIDEtLjE1Ni0uMDljLS4wMi0uMDA4LS4wOTgtLjAzOS0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zMS40NjUgMjIuMjE5YTEuNzE0IDEuNzE0IDAgMCAwLS4zNi0uNjMzIDEuNzQgMS43NCAwIDAgMC0uNjAxLS40MyAyLjE4NyAyLjE4NyAwIDAgMC0uODQ4LS4xNTZjLS4zMTYgMC0uNjAxLjA1NS0uODQzLjE1NmExLjY3IDEuNjcgMCAwIDAtLjYwMi40M2MtLjE2NC4xNzYtLjI4MS4zOS0uMzYuNjMzYTIuNTQ0IDIuNTQ0IDAgMCAwLS4xMTcuNzg1YzAgLjI3Ny4wNC41NDMuMTE4Ljc4NWExLjY5MSAxLjY5MSAwIDAgMCAuOTYgMS4wNTljLjI0My4wOTcuNTI4LjE1Mi44NDQuMTUyLjMyIDAgLjYwNi0uMDUuODQ4LS4xNTIuMjM4LS4xMDIuNDQxLS4yNDYuNjAxLS40MjIuMTYtLjE4LjI4Mi0uMzk1LjM2LS42MzcuMDc4LS4yNDIuMTE3LS41MDQuMTE3LS43ODVzLS4wMzktLjU0My0uMTE3LS43ODVtLS43OS43ODVjMCAuNDIyLS4wODEuNzU4LS4yNS45OTItLjE2Ny4yMzQtLjQxNy4zNDgtLjc2OS4zNDgtLjM0NyAwLS41OTctLjExNC0uNzYxLS4zNDgtLjE2OC0uMjM0LS4yNS0uNTctLjI1LS45OTIgMC0uNDIyLjA4NS0uNzU4LjI1LS45ODguMTY0LS4yMzUuNDE0LS4zNDQuNzYxLS4zNDQuMzUyIDAgLjYwMi4xMS43Ny4zNDQuMTY4LjIzLjI1LjU2Ni4yNS45ODgiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuOTM0IDI0LjIzNGMtLjAyOC0uMDc0LS4xMDItLjA0Ny0uMTAyLS4wNDdhMS43NDMgMS43NDMgMCAwIDEtLjM2Ny4wOTggMi44OCAyLjg4IDAgMCAxLS40My4wMzFjLS4zODMgMC0uNjgzLS4xMDUtLjkwMi0uMzEyLS4yMTUtLjIxMS0uMzM2LS41NDctLjMzNi0xIDAtLjQxNC4xMS0uNzI3LjMtLjk2NS4xOTItLjIzNC40ODUtLjM1NS44NzYtLjM1NS4zMjQgMCAuNTc0LjAzNS44MzIuMTA5IDAgMCAuMDYyLjAyNy4wOS0uMDUuMDctLjE3Ny4xMi0uMzAyLjE5NS0uNDk3LjAyLS4wNTgtLjAzMS0uMDgyLS4wNS0uMDg2YTMuMjQgMy4yNCAwIDAgMC0uNTI0LS4xMjUgNC40MzUgNC40MzUgMCAwIDAtLjU5LS4wMzVjLS4zMzIgMC0uNjI1LjA1NS0uODguMTU2YTEuODQyIDEuODQyIDAgMCAwLS42MzYuNDI2Yy0uMTY4LjE4LS4yOTcuMzk1LS4zODMuNjM3YTIuMzE1IDIuMzE1IDAgMCAwLS4xMjkuNzg1YzAgLjYwNS4xNzYgMS4wOTQuNTI4IDEuNDUzLjM0Ny4zNi44Ny41NDMgMS41NTQuNTQzLjQwMyAwIC44MTctLjA3NCAxLjExNC0uMTg0IDAgMCAuMDU4LS4wMjcuMDM1LS4wODZ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTQxLjk2NSAyMi4wODJhMS41MiAxLjUyIDAgMCAwLS4zNDQtLjU3OCAxLjUxNiAxLjUxNiAwIDAgMC0uNTA0LS4zNiAyLjEwNSAyLjEwNSAwIDAgMC0uNzY1LS4xNDRjLS4zMzIgMC0uNjMzLjA1LS44OC4xNi0uMjQ1LjEwNi0uNDUyLjI1LS42MTMuNDM0LS4xNjQuMTgtLjI4NS4zOTgtLjM2My42NGEyLjYwNSAyLjYwNSAwIDAgMC0uMTE3Ljc5YzAgLjI4NS4wNDMuNTUuMTIxLjc5Mi4wODIuMjM5LjIxLjQ1NC4zODcuNjMuMTc1LjE3NS40MDIuMzEyLjY3Mi40MS4yNjUuMDk3LjU5My4xNDguOTY4LjE0NC43NyAwIDEuMTc2LS4xNiAxLjM0LS4yNDYuMDMxLS4wMTYuMDU5LS4wNDMuMDI0LS4xMTdsLS4xNzItLjQ1M2MtLjAyOC0uMDctLjEwMi0uMDQzLS4xMDItLjA0My0uMTkxLjA2Mi0uNDYuMTgzLTEuMDk0LjE4LS40MTQgMC0uNzIyLS4xMS0uOTE0LS4yOS0uMTk1LS4xOC0uMjkzLS40NDUtLjMwOC0uODJoMi42NjRzLjA3IDAgLjA3OC0uMDY2Yy4wMDQtLjAyOC4wOS0uNTA4LS4wNzgtMS4wNjNtLTIuNjUzLjUxNmMuMDM2LS4yMzUuMTA2LS40MzQuMjE1LS41ODIuMTY0LS4yMzUuNDEtLjM2Ljc2Mi0uMzYuMzUyIDAgLjU4Mi4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTguNTgyeiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMC40NTMgMjIuMDgyYTEuNTE3IDEuNTE3IDAgMCAwLS4zNC0uNTc4IDEuNDkgMS40OSAwIDAgMC0uNTA4LS4zNiAyLjA4MyAyLjA4MyAwIDAgMC0uNzYxLS4xNDRjLS4zMzIgMC0uNjM3LjA1LS44ODMuMTYtLjI0Mi4xMDYtLjQ1LjI1LS42MTMuNDM0YTEuNzggMS43OCAwIDAgMC0uMzYuNjQgMi42MDUgMi42MDUgMCAwIDAtLjExNy43OWMwIC4yODUuMDQuNTUuMTIxLjc5Mi4wNzguMjM5LjIxMS40NTQuMzg3LjYzLjE3Ni4xNzUuMzk4LjMxMi42NjguNDEuMjcuMDk3LjU5NC4xNDguOTY5LjE0NC43NyAwIDEuMTc1LS4xNiAxLjM0My0uMjQ2LjAzMi0uMDE2LjA1NS0uMDQzLjAyNC0uMTE3bC0uMTc2LS40NTNjLS4wMjctLjA3LS4xMDItLjA0My0uMTAyLS4wNDMtLjE5LjA2Mi0uNDYuMTgzLTEuMDkzLjE4LS40MTQgMC0uNzE5LS4xMS0uOTEtLjI5LS4yLS4xOC0uMjk3LS40NDUtLjMxMy0uODJoMi42NjhzLjA3IDAgLjA3OC0uMDY2YzAtLjAyOC4wOS0uNTA4LS4wODItMS4wNjNtLTIuNjUyLjUxNmMuMDM5LS4yMzUuMTEtLjQzNC4yMTUtLjU4Mi4xNjQtLjIzNS40MTQtLjM2Ljc2NS0uMzYuMzQ4IDAgLjU3OC4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTc2LjU4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTIuOTMgMjIuNDhjLS4xMS0uMDAzLS4yNDYtLjAwNy0uNDE0LS4wMDctLjIzIDAtLjQ1NC4wMjMtLjY2LjA3OC0uMjA4LjA1LS4zOTUuMTI5LS41NTUuMjM4LS4xNi4xMDYtLjI5My4yNDItLjM4Ny40MDZhMS4xMzUgMS4xMzUgMCAwIDAtLjE0NC41N2MwIC4yMi4wNDMuNDEuMTI1LjU2My4wNzguMTU2LjE5NS4yODUuMzQzLjM4Ny4xNDkuMTAxLjMzMi4xNzYuNTQzLjIxOS4yMTEuMDQzLjQ1LjA2Ni43MTEuMDY2LjI3NCAwIC41NDMtLjAyLjgwOS0uMDYzLjI2MS0uMDQyLjU4Mi0uMTAxLjY3Mi0uMTIuMDktLjAyLjE4Ny0uMDQ0LjE4Ny0uMDQ0LjA2Ny0uMDE1LjA1OS0uMDgyLjA1OS0uMDgydi0yLjI1N2MwLS40OTctLjE0NS0uODY0LS40MjItMS4wOTQtLjI4MS0uMjI3LS42OTUtLjM0LTEuMjI3LS4zNC0uMTk5IDAtLjUyLjAyMy0uNzE1LjA2MyAwIDAtLjU4Mi4xMDEtLjgyLjI3NyAwIDAtLjA1NS4wMzEtLjAyMy4wOThsLjE4Ny40NjhjLjAyNC4wNjMuMDg2LjA0My4wODYuMDQzcy4wMjQtLjAwOC4wNDctLjAyM2MuNTEyLS4yNTggMS4xNi0uMjUgMS4xNi0uMjUuMjkgMCAuNTEyLjA1NC42Ni4xNi4xNDUuMTA1LjIyLjI1OC4yMi41OXYuMTA1Yy0uMjMxLS4wMzEtLjQ0Mi0uMDUtLjQ0Mi0uMDVtLTEuMDYzIDEuNzM4YS41MzguNTM4IDAgMCAxLS4xNTItLjE0OS41Ny41NyAwIDAgMS0uMDc4LS4zMmMwLS4yMTkuMDc4LS4zNzEuMjM4LS40NzctLjAwNCAwIC4yMy0uMTg3Ljc3My0uMTguMzguMDA1LjcyMy4wNTUuNzIzLjA1NXYxLjEyNXMtLjM0LjA2Ny0uNzE5LjA4NmMtLjU0My4wMzItLjc4NS0uMTQtLjc4NS0uMTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzQuNzYyIDIxLjE2OGMuMDItLjA1OS0uMDI0LS4wODItLjA0My0uMDlhMi41MjYgMi41MjYgMCAwIDAtLjQ0Ni0uMDc0Yy0uMzM2LS4wMi0uNTIuMDM1LS42ODcuMTA1LS4xNjguMDctLjM1Mi4xODgtLjQ1LjMybC0uMDAzLS4zMTJjMC0uMDQzLS4wMzEtLjA3OC0uMDc0LS4wNzhoLS42ODRhLjA3Ni4wNzYgMCAwIDAtLjA3OC4wNzh2My44MDVjMCAuMDQzLjAzOS4wNzguMDgyLjA3OGguN2EuMDguMDggMCAwIDAgLjA4MS0uMDc4di0xLjg5OWMwLS4yNTcuMDI4LS41MTEuMDg2LS42NzFhLjk2NC45NjQgMCAwIDEgLjIzNC0uMzc1Ljg2Ljg2IDAgMCAxIC4zMzMtLjE5MiAxLjM1IDEuMzUgMCAwIDEgLjM1NS0uMDQ3Yy4xNCAwIC4yOTMuMDM1LjI5My4wMzUuMDUuMDA0LjA3OC0uMDI3LjA5OC0uMDcuMDQ2LS4xMTMuMTc1LS40NjUuMjAzLS41MzUiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjguMjAzIDE5LjEwNWExLjk1IDEuOTUgMCAwIDAtLjYyNS0uMDljLS40ODQgMC0uODYzLjEzNy0xLjEyOS40MDctLjI2NS4yNjUtLjQ0NS42NzYtLjUzOSAxLjIxbC0uMDQ3LjM2NGgtLjYwNXMtLjA3NC0uMDA0LS4wOS4wNzhsLS4wOTguNTU1Yy0uMDA4LjA1NS4wMTYuMDg2LjA4Ni4wODZoLjU5bC0uNTk4IDMuMzM2YTQuNDMgNC40MyAwIDAgMS0uMTYuNjYgMS40MjIgMS40MjIgMCAwIDEtLjE4Ny4zNzkuNTA1LjUwNSAwIDAgMS0uMjQyLjE4NyAxIDEgMCAwIDEtLjMxNy4wNDMuOTcuOTcgMCAwIDEtLjIxLS4wMjMuNTguNTggMCAwIDEtLjE0NS0uMDQzcy0uMDctLjAyNy0uMDk4LjA0M2MtLjAyMy4wNTUtLjE4LjQ4OC0uMTk1LjUzOS0uMDIuMDU1LjAwNC4wOTQuMDM5LjEwNS4wNzguMDMyLjEzNy4wNDcuMjQyLjA3NS4xNDguMDM1LjI3My4wMzUuMzkuMDM1LjI0NyAwIC40Ny0uMDM1LjY1Ny0uMTAyLjE4Ny0uMDY2LjM0OC0uMTgzLjQ5Mi0uMzQ0LjE1Ni0uMTcxLjI1NC0uMzUxLjM0OC0uNTkzLjA5LS4yNDYuMTY4LS41NDcuMjM0LS44OTlsLjU5OC0zLjM5OGguODc5cy4wNzQuMDA0LjA5LS4wNzhsLjA5Ny0uNTU1Yy4wMDgtLjA1LS4wMTUtLjA4Ni0uMDg2LS4wODZoLS44NTFjLjAwNC0uMDIuMDU4LS41MDQuMTU2LS43ODVhLjc4OC43ODggMCAwIDEgLjE4Ny0uMjg1LjU2Ni41NjYgMCAwIDEgLjIyMy0uMTQgMS4xNjUgMS4xNjUgMCAwIDEgLjUwNC0uMDJjLjA4Mi4wMi4xMTcuMDI3LjEzNy4wMzUuMDkuMDI3LjA5NyAwIC4xMTctLjA0M2wuMjAzLS41NTljLjAyMy0uMDU4LS4wMjctLjA4Ni0uMDQ3LS4wOTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODk4IDI0LjkxOGMwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MmgtLjcwN2MtLjA0NyAwLS4wNzgtLjAzNS0uMDc4LS4wODJ2LTUuODM2YzAtLjA0Ny4wMzEtLjA4Mi4wNzgtLjA4MmguNzA3Yy4wNDMgMCAuMDc0LjA0LjA3NC4wODJ6IiBmaWxsPSIjRkZGIi8+PC9nPjxtZXRhZGF0YT48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zOnJkZnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PHJkZjpEZXNjcmlwdGlvbiBhYm91dD0iaHR0cHM6Ly9pY29uc2NvdXQuY29tL2xlZ2FsI2xpY2Vuc2VzIiBkYzp0aXRsZT0ic2FsZXNmb3JjZSIgZGM6ZGVzY3JpcHRpb249InNhbGVzZm9yY2UiIGRjOnB1Ymxpc2hlcj0iSWNvbnNjb3V0IiBkYzpkYXRlPSIyMDE3LTEyLTE1IiBkYzpmb3JtYXQ9ImltYWdlL3N2Zyt4bWwiIGRjOmxhbmd1YWdlPSJlbiI+PGRjOmNyZWF0b3I+PHJkZjpCYWc+PHJkZjpsaT5JY29uczg8L3JkZjpsaT48L3JkZjpCYWc+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L21ldGFkYXRhPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Salesforce" camel.apache.org/kamelet.namespace: "Salesforce" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Salesforce Create Sink" description: Create an object in Salesforce. required: - clientId - clientSecret - userName - password type: object properties: sObjectName: title: Object Name description: The type of the object. type: string example: Contact loginUrl: title: Login URL description: The Salesforce instance login URL. type: string default: https://login.salesforce.com clientId: title: Consumer Key description: The Salesforce application consumer key. type: string x-descriptors: - urn:camel:group:credentials clientSecret: title: Consumer Secret description: The Salesforce application consumer secret. type: string format: password x-descriptors: - urn:camel:group:credentials userName: title: Username description: The Salesforce username. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The Salesforce user password. type: string format: password x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:salesforce" - "camel:kamelet" template: beans: - name: local-salesforce type: "#class:org.apache.camel.component.salesforce.SalesforceComponent" properties: clientId: "{{clientId}}" clientSecret: "{{clientSecret}}" userName: "{{userName}}" password: "{{password}}" loginUrl: "{{loginUrl}}" from: uri: kamelet:source steps: - to: uri: "{{local-salesforce}}:createSObject" parameters: sObjectName: "{{sObjectName}}" rawPayload: "true" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: salesforce-delete-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCA0OCA0OCIgdmVyc2lvbj0iMS4xIj48ZyBpZD0ic3VyZmFjZTEiPjxwYXRoIGQ9Ik0zNi41IDEyYy0xLjMyNCAwLTIuNTkuMjU4LTMuNzU4LjcwM0E3Ljk5NCA3Ljk5NCAwIDAgMCAyNiA5Yy0yLjEwNSAwLTQuMDIuODItNS40NDUgMi4xNTJBOS40NjggOS40NjggMCAwIDAgMTMuNSA4QzguMjU0IDggNCAxMi4yNTQgNCAxNy41YzAgLjc5My4xMSAxLjU1OS4yOSAyLjI5M0E4LjQ3MiA4LjQ3MiAwIDAgMCAxIDI2LjVDMSAzMS4xOTUgNC44MDUgMzUgOS41IDM1Yy40MTQgMCAuODE2LS4wNCAxLjIxNS0uMDk4IDEuMzEyIDMgNC4zIDUuMDk4IDcuNzg1IDUuMDk4IDMuMTYgMCA1LjkxNC0xLjczIDcuMzc5LTQuMjkzQTcuOTIzIDcuOTIzIDAgMCAwIDI4IDM2YzIuNjIxIDAgNC45MzgtMS4yNjYgNi4zOTgtMy4yMS42OC4xMzYgMS4zODMuMjEgMi4xMDIuMjFDNDIuMyAzMyA0NyAyOC4zIDQ3IDIyLjVTNDIuMyAxMiAzNi41IDEyeiIgZmlsbD0iIzAzOUJFNSIvPjxwYXRoIGQ9Ik0xNS44MjQgMjVjLjA0MyAwIC4wNzQtLjAzNS4wNzQtLjA4MiAwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjEuNTA0IDIzLjkzNHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNy4xMzcgMjMuOTNhLjExNi4xMTYgMCAwIDEgLjAwNCAwaC0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yNC4xMjUgMjEuOTFjLS4wMTYuMDQtLjA0Ny4wNDMtLjA3LjA0M2guMDA4Yy4wMjMgMCAuMDUtLjAwOC4wNjItLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODI0IDE5Yy4wNDMgMCAuMDc0LjAzNS4wNzQuMDgyIDAtLjA0Ny0uMDMtLjA4Mi0uMDc0LS4wODJ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTIxLjM2IDIyLjE4NGMwIC40MS4yMS42NjQuNTAzLjgzNi0uMjkzLS4xNzItLjUwNC0uNDI2LS41MDQtLjgzNnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzguMTI1IDI0LjczYy4wMjcuMDYtLjAzMS4wODYtLjAzMS4wODZzLjA1OC0uMDI3LjAzMS0uMDg2eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik04LjU1OSAyMXoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNOS43NjYgMjEuOTFjLS4wMi4wNC0uMDQ3LjA0My0uMDc1LjA0M0g5LjdjLjAyOCAwIC4wNTEtLjAwOC4wNjctLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzUuMTk1IDI0LjE2NHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuODI4IDIxLjc5N2gtLjAyM3MuMDA4LjAwNC4wMjMuMDA0di0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zNy44MzIgMjQuMTg4cy4wMTYgMCAuMDM1LS4wMDRoLS4wMDRjLS4wMTUgMC0uMDMxLjAwMy0uMDMxLjAwM3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNi44ODcgMjQuNDZjLS4wMzIuMDcxLjAwOC4wODcuMDIuMDk5LjA4NS4wNTguMTcxLjA5Ny4yNjEuMTQ0LjQ2OS4yMy45MS4yOTcgMS4zNzUuMjk3Ljk0NSAwIDEuNTMxLS40NiAxLjUzMS0xLjIwN3YtLjAxNmMwLS42ODctLjY2NC0uOTM3LTEuMjg1LTEuMTE3bC0uMDc4LS4wMjNjLS40NjktLjE0LS44NzEtLjI2Mi0uODcxLS41NDd2LS4wMTZjMC0uMjQyLjIzNC0uNDIyLjYwMS0uNDIyLjQwNyAwIC44ODcuMTI1IDEuMi4yODUgMCAwIC4wOS4wNTUuMTI1LS4wMjcuMDE1LS4wNDMuMTc1LS40MzMuMTkxLS40NzYuMDItLjA0My0uMDE2LS4wNzktLjA0Ny0uMDk4QTIuODQ1IDIuODQ1IDAgMCAwIDguNTYgMjFoLS4wOTRjLS44NjMgMC0xLjQ2OS40OC0xLjQ2OSAxLjE3MnYuMDEyYzAgLjcyNi42NjQuOTY0IDEuMjkgMS4xMjhsLjEuMDI4Yy40NTQuMTI5Ljg0NC4yMzguODQ0LjUzMXYuMDE2YzAgLjI3LS4yNTMuNDcyLS42NjQuNDcyLS4xNiAwLS42NjgtLjAwNC0xLjIxNC0uMzI0YTIuNDUgMi40NSAwIDAgMS0uMTU3LS4wOWMtLjAyNy0uMDE1LS4wOTMtLjA0My0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMS4yNDYgMjQuNDZjLS4wMjcuMDcxLjAxMi4wODcuMDIuMDk5LjA5LjA1OC4xNzUuMDk3LjI2MS4xNDQuNDcuMjMuOTE0LjI5NyAxLjM4LjI5Ny45NCAwIDEuNTI3LS40NiAxLjUyNy0xLjIwN3YtLjAxNmMwLS42ODctLjY2LS45MzctMS4yODItMS4xMTdsLS4wODItLjAyM2MtLjQ2NS0uMTQtLjg3LS4yNjItLjg3LS41NDd2LS4wMTZjMC0uMjQyLjIzOC0uNDIyLjYwNS0uNDIyLjQwNiAwIC44ODYuMTI1IDEuMTk5LjI4NSAwIDAgLjA5LjA1NS4xMjUtLjAyNy4wMTYtLjA0My4xNzItLjQzMy4xOTEtLjQ3Ni4wMTYtLjA0My0uMDE1LS4wNzktLjA0Ny0uMDk4QTIuODU3IDIuODU3IDAgMCAwIDIyLjkyMiAyMWgtLjA5OGMtLjg2MyAwLTEuNDY1LjQ4LTEuNDY1IDEuMTcydi4wMTJjMCAuNzI2LjY2NC45NjQgMS4yOSAxLjEyOGwuMDk3LjAyOGMuNDU3LjEyOS44NDguMjM4Ljg0OC41MzF2LjAxNmMwIC4yNy0uMjU0LjQ3Mi0uNjY0LjQ3Mi0uMTYgMC0uNjY4LS4wMDQtMS4yMTUtLjMyNGEyLjQ1IDIuNDUgMCAwIDEtLjE1Ni0uMDljLS4wMi0uMDA4LS4wOTgtLjAzOS0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zMS40NjUgMjIuMjE5YTEuNzE0IDEuNzE0IDAgMCAwLS4zNi0uNjMzIDEuNzQgMS43NCAwIDAgMC0uNjAxLS40MyAyLjE4NyAyLjE4NyAwIDAgMC0uODQ4LS4xNTZjLS4zMTYgMC0uNjAxLjA1NS0uODQzLjE1NmExLjY3IDEuNjcgMCAwIDAtLjYwMi40M2MtLjE2NC4xNzYtLjI4MS4zOS0uMzYuNjMzYTIuNTQ0IDIuNTQ0IDAgMCAwLS4xMTcuNzg1YzAgLjI3Ny4wNC41NDMuMTE4Ljc4NWExLjY5MSAxLjY5MSAwIDAgMCAuOTYgMS4wNTljLjI0My4wOTcuNTI4LjE1Mi44NDQuMTUyLjMyIDAgLjYwNi0uMDUuODQ4LS4xNTIuMjM4LS4xMDIuNDQxLS4yNDYuNjAxLS40MjIuMTYtLjE4LjI4Mi0uMzk1LjM2LS42MzcuMDc4LS4yNDIuMTE3LS41MDQuMTE3LS43ODVzLS4wMzktLjU0My0uMTE3LS43ODVtLS43OS43ODVjMCAuNDIyLS4wODEuNzU4LS4yNS45OTItLjE2Ny4yMzQtLjQxNy4zNDgtLjc2OS4zNDgtLjM0NyAwLS41OTctLjExNC0uNzYxLS4zNDgtLjE2OC0uMjM0LS4yNS0uNTctLjI1LS45OTIgMC0uNDIyLjA4NS0uNzU4LjI1LS45ODguMTY0LS4yMzUuNDE0LS4zNDQuNzYxLS4zNDQuMzUyIDAgLjYwMi4xMS43Ny4zNDQuMTY4LjIzLjI1LjU2Ni4yNS45ODgiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuOTM0IDI0LjIzNGMtLjAyOC0uMDc0LS4xMDItLjA0Ny0uMTAyLS4wNDdhMS43NDMgMS43NDMgMCAwIDEtLjM2Ny4wOTggMi44OCAyLjg4IDAgMCAxLS40My4wMzFjLS4zODMgMC0uNjgzLS4xMDUtLjkwMi0uMzEyLS4yMTUtLjIxMS0uMzM2LS41NDctLjMzNi0xIDAtLjQxNC4xMS0uNzI3LjMtLjk2NS4xOTItLjIzNC40ODUtLjM1NS44NzYtLjM1NS4zMjQgMCAuNTc0LjAzNS44MzIuMTA5IDAgMCAuMDYyLjAyNy4wOS0uMDUuMDctLjE3Ny4xMi0uMzAyLjE5NS0uNDk3LjAyLS4wNTgtLjAzMS0uMDgyLS4wNS0uMDg2YTMuMjQgMy4yNCAwIDAgMC0uNTI0LS4xMjUgNC40MzUgNC40MzUgMCAwIDAtLjU5LS4wMzVjLS4zMzIgMC0uNjI1LjA1NS0uODguMTU2YTEuODQyIDEuODQyIDAgMCAwLS42MzYuNDI2Yy0uMTY4LjE4LS4yOTcuMzk1LS4zODMuNjM3YTIuMzE1IDIuMzE1IDAgMCAwLS4xMjkuNzg1YzAgLjYwNS4xNzYgMS4wOTQuNTI4IDEuNDUzLjM0Ny4zNi44Ny41NDMgMS41NTQuNTQzLjQwMyAwIC44MTctLjA3NCAxLjExNC0uMTg0IDAgMCAuMDU4LS4wMjcuMDM1LS4wODZ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTQxLjk2NSAyMi4wODJhMS41MiAxLjUyIDAgMCAwLS4zNDQtLjU3OCAxLjUxNiAxLjUxNiAwIDAgMC0uNTA0LS4zNiAyLjEwNSAyLjEwNSAwIDAgMC0uNzY1LS4xNDRjLS4zMzIgMC0uNjMzLjA1LS44OC4xNi0uMjQ1LjEwNi0uNDUyLjI1LS42MTMuNDM0LS4xNjQuMTgtLjI4NS4zOTgtLjM2My42NGEyLjYwNSAyLjYwNSAwIDAgMC0uMTE3Ljc5YzAgLjI4NS4wNDMuNTUuMTIxLjc5Mi4wODIuMjM5LjIxLjQ1NC4zODcuNjMuMTc1LjE3NS40MDIuMzEyLjY3Mi40MS4yNjUuMDk3LjU5My4xNDguOTY4LjE0NC43NyAwIDEuMTc2LS4xNiAxLjM0LS4yNDYuMDMxLS4wMTYuMDU5LS4wNDMuMDI0LS4xMTdsLS4xNzItLjQ1M2MtLjAyOC0uMDctLjEwMi0uMDQzLS4xMDItLjA0My0uMTkxLjA2Mi0uNDYuMTgzLTEuMDk0LjE4LS40MTQgMC0uNzIyLS4xMS0uOTE0LS4yOS0uMTk1LS4xOC0uMjkzLS40NDUtLjMwOC0uODJoMi42NjRzLjA3IDAgLjA3OC0uMDY2Yy4wMDQtLjAyOC4wOS0uNTA4LS4wNzgtMS4wNjNtLTIuNjUzLjUxNmMuMDM2LS4yMzUuMTA2LS40MzQuMjE1LS41ODIuMTY0LS4yMzUuNDEtLjM2Ljc2Mi0uMzYuMzUyIDAgLjU4Mi4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTguNTgyeiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMC40NTMgMjIuMDgyYTEuNTE3IDEuNTE3IDAgMCAwLS4zNC0uNTc4IDEuNDkgMS40OSAwIDAgMC0uNTA4LS4zNiAyLjA4MyAyLjA4MyAwIDAgMC0uNzYxLS4xNDRjLS4zMzIgMC0uNjM3LjA1LS44ODMuMTYtLjI0Mi4xMDYtLjQ1LjI1LS42MTMuNDM0YTEuNzggMS43OCAwIDAgMC0uMzYuNjQgMi42MDUgMi42MDUgMCAwIDAtLjExNy43OWMwIC4yODUuMDQuNTUuMTIxLjc5Mi4wNzguMjM5LjIxMS40NTQuMzg3LjYzLjE3Ni4xNzUuMzk4LjMxMi42NjguNDEuMjcuMDk3LjU5NC4xNDguOTY5LjE0NC43NyAwIDEuMTc1LS4xNiAxLjM0My0uMjQ2LjAzMi0uMDE2LjA1NS0uMDQzLjAyNC0uMTE3bC0uMTc2LS40NTNjLS4wMjctLjA3LS4xMDItLjA0My0uMTAyLS4wNDMtLjE5LjA2Mi0uNDYuMTgzLTEuMDkzLjE4LS40MTQgMC0uNzE5LS4xMS0uOTEtLjI5LS4yLS4xOC0uMjk3LS40NDUtLjMxMy0uODJoMi42NjhzLjA3IDAgLjA3OC0uMDY2YzAtLjAyOC4wOS0uNTA4LS4wODItMS4wNjNtLTIuNjUyLjUxNmMuMDM5LS4yMzUuMTEtLjQzNC4yMTUtLjU4Mi4xNjQtLjIzNS40MTQtLjM2Ljc2NS0uMzYuMzQ4IDAgLjU3OC4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTc2LjU4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTIuOTMgMjIuNDhjLS4xMS0uMDAzLS4yNDYtLjAwNy0uNDE0LS4wMDctLjIzIDAtLjQ1NC4wMjMtLjY2LjA3OC0uMjA4LjA1LS4zOTUuMTI5LS41NTUuMjM4LS4xNi4xMDYtLjI5My4yNDItLjM4Ny40MDZhMS4xMzUgMS4xMzUgMCAwIDAtLjE0NC41N2MwIC4yMi4wNDMuNDEuMTI1LjU2My4wNzguMTU2LjE5NS4yODUuMzQzLjM4Ny4xNDkuMTAxLjMzMi4xNzYuNTQzLjIxOS4yMTEuMDQzLjQ1LjA2Ni43MTEuMDY2LjI3NCAwIC41NDMtLjAyLjgwOS0uMDYzLjI2MS0uMDQyLjU4Mi0uMTAxLjY3Mi0uMTIuMDktLjAyLjE4Ny0uMDQ0LjE4Ny0uMDQ0LjA2Ny0uMDE1LjA1OS0uMDgyLjA1OS0uMDgydi0yLjI1N2MwLS40OTctLjE0NS0uODY0LS40MjItMS4wOTQtLjI4MS0uMjI3LS42OTUtLjM0LTEuMjI3LS4zNC0uMTk5IDAtLjUyLjAyMy0uNzE1LjA2MyAwIDAtLjU4Mi4xMDEtLjgyLjI3NyAwIDAtLjA1NS4wMzEtLjAyMy4wOThsLjE4Ny40NjhjLjAyNC4wNjMuMDg2LjA0My4wODYuMDQzcy4wMjQtLjAwOC4wNDctLjAyM2MuNTEyLS4yNTggMS4xNi0uMjUgMS4xNi0uMjUuMjkgMCAuNTEyLjA1NC42Ni4xNi4xNDUuMTA1LjIyLjI1OC4yMi41OXYuMTA1Yy0uMjMxLS4wMzEtLjQ0Mi0uMDUtLjQ0Mi0uMDVtLTEuMDYzIDEuNzM4YS41MzguNTM4IDAgMCAxLS4xNTItLjE0OS41Ny41NyAwIDAgMS0uMDc4LS4zMmMwLS4yMTkuMDc4LS4zNzEuMjM4LS40NzctLjAwNCAwIC4yMy0uMTg3Ljc3My0uMTguMzguMDA1LjcyMy4wNTUuNzIzLjA1NXYxLjEyNXMtLjM0LjA2Ny0uNzE5LjA4NmMtLjU0My4wMzItLjc4NS0uMTQtLjc4NS0uMTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzQuNzYyIDIxLjE2OGMuMDItLjA1OS0uMDI0LS4wODItLjA0My0uMDlhMi41MjYgMi41MjYgMCAwIDAtLjQ0Ni0uMDc0Yy0uMzM2LS4wMi0uNTIuMDM1LS42ODcuMTA1LS4xNjguMDctLjM1Mi4xODgtLjQ1LjMybC0uMDAzLS4zMTJjMC0uMDQzLS4wMzEtLjA3OC0uMDc0LS4wNzhoLS42ODRhLjA3Ni4wNzYgMCAwIDAtLjA3OC4wNzh2My44MDVjMCAuMDQzLjAzOS4wNzguMDgyLjA3OGguN2EuMDguMDggMCAwIDAgLjA4MS0uMDc4di0xLjg5OWMwLS4yNTcuMDI4LS41MTEuMDg2LS42NzFhLjk2NC45NjQgMCAwIDEgLjIzNC0uMzc1Ljg2Ljg2IDAgMCAxIC4zMzMtLjE5MiAxLjM1IDEuMzUgMCAwIDEgLjM1NS0uMDQ3Yy4xNCAwIC4yOTMuMDM1LjI5My4wMzUuMDUuMDA0LjA3OC0uMDI3LjA5OC0uMDcuMDQ2LS4xMTMuMTc1LS40NjUuMjAzLS41MzUiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjguMjAzIDE5LjEwNWExLjk1IDEuOTUgMCAwIDAtLjYyNS0uMDljLS40ODQgMC0uODYzLjEzNy0xLjEyOS40MDctLjI2NS4yNjUtLjQ0NS42NzYtLjUzOSAxLjIxbC0uMDQ3LjM2NGgtLjYwNXMtLjA3NC0uMDA0LS4wOS4wNzhsLS4wOTguNTU1Yy0uMDA4LjA1NS4wMTYuMDg2LjA4Ni4wODZoLjU5bC0uNTk4IDMuMzM2YTQuNDMgNC40MyAwIDAgMS0uMTYuNjYgMS40MjIgMS40MjIgMCAwIDEtLjE4Ny4zNzkuNTA1LjUwNSAwIDAgMS0uMjQyLjE4NyAxIDEgMCAwIDEtLjMxNy4wNDMuOTcuOTcgMCAwIDEtLjIxLS4wMjMuNTguNTggMCAwIDEtLjE0NS0uMDQzcy0uMDctLjAyNy0uMDk4LjA0M2MtLjAyMy4wNTUtLjE4LjQ4OC0uMTk1LjUzOS0uMDIuMDU1LjAwNC4wOTQuMDM5LjEwNS4wNzguMDMyLjEzNy4wNDcuMjQyLjA3NS4xNDguMDM1LjI3My4wMzUuMzkuMDM1LjI0NyAwIC40Ny0uMDM1LjY1Ny0uMTAyLjE4Ny0uMDY2LjM0OC0uMTgzLjQ5Mi0uMzQ0LjE1Ni0uMTcxLjI1NC0uMzUxLjM0OC0uNTkzLjA5LS4yNDYuMTY4LS41NDcuMjM0LS44OTlsLjU5OC0zLjM5OGguODc5cy4wNzQuMDA0LjA5LS4wNzhsLjA5Ny0uNTU1Yy4wMDgtLjA1LS4wMTUtLjA4Ni0uMDg2LS4wODZoLS44NTFjLjAwNC0uMDIuMDU4LS41MDQuMTU2LS43ODVhLjc4OC43ODggMCAwIDEgLjE4Ny0uMjg1LjU2Ni41NjYgMCAwIDEgLjIyMy0uMTQgMS4xNjUgMS4xNjUgMCAwIDEgLjUwNC0uMDJjLjA4Mi4wMi4xMTcuMDI3LjEzNy4wMzUuMDkuMDI3LjA5NyAwIC4xMTctLjA0M2wuMjAzLS41NTljLjAyMy0uMDU4LS4wMjctLjA4Ni0uMDQ3LS4wOTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODk4IDI0LjkxOGMwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MmgtLjcwN2MtLjA0NyAwLS4wNzgtLjAzNS0uMDc4LS4wODJ2LTUuODM2YzAtLjA0Ny4wMzEtLjA4Mi4wNzgtLjA4MmguNzA3Yy4wNDMgMCAuMDc0LjA0LjA3NC4wODJ6IiBmaWxsPSIjRkZGIi8+PC9nPjxtZXRhZGF0YT48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zOnJkZnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PHJkZjpEZXNjcmlwdGlvbiBhYm91dD0iaHR0cHM6Ly9pY29uc2NvdXQuY29tL2xlZ2FsI2xpY2Vuc2VzIiBkYzp0aXRsZT0ic2FsZXNmb3JjZSIgZGM6ZGVzY3JpcHRpb249InNhbGVzZm9yY2UiIGRjOnB1Ymxpc2hlcj0iSWNvbnNjb3V0IiBkYzpkYXRlPSIyMDE3LTEyLTE1IiBkYzpmb3JtYXQ9ImltYWdlL3N2Zyt4bWwiIGRjOmxhbmd1YWdlPSJlbiI+PGRjOmNyZWF0b3I+PHJkZjpCYWc+PHJkZjpsaT5JY29uczg8L3JkZjpsaT48L3JkZjpCYWc+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L21ldGFkYXRhPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Salesforce" camel.apache.org/kamelet.namespace: "Salesforce" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Salesforce Delete Sink" description: Remove an object from Salesforce. required: - clientId - clientSecret - userName - password type: object properties: loginUrl: title: Login URL description: The Salesforce instance login URL. type: string default: https://login.salesforce.com clientId: title: Consumer Key description: The Salesforce application consumer key. type: string x-descriptors: - urn:camel:group:credentials clientSecret: title: Consumer Secret description: The Salesforce application consumer secret. type: string format: password x-descriptors: - urn:camel:group:credentials userName: title: Username description: The Salesforce username. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The Salesforce user password. type: string format: password x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json schema: type: object required: ["sObjectId", "sObjectName"] properties: sObjectId: type: string sObjectName: type: string dependencies: - "camel:salesforce" - "camel:kamelet" - "camel:core" - "camel:jsonpath" template: beans: - name: local-delete-salesforce type: "#class:org.apache.camel.component.salesforce.SalesforceComponent" properties: clientId: "{{clientId}}" clientSecret: "{{clientSecret}}" userName: "{{userName}}" password: "{{password}}" loginUrl: "{{loginUrl}}" from: uri: kamelet:source steps: - setHeader: name: sObjectId jsonpath: "$['sObjectId']" - setHeader: name: sObjectName jsonpath: "$['sObjectName']" - setBody: simple: "${null}" - to: uri: "{{local-delete-salesforce}}:deleteSObject" - removeHeader: name: sObjectId - removeHeader: name: sObjectName --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: salesforce-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCA0OCA0OCIgdmVyc2lvbj0iMS4xIj48ZyBpZD0ic3VyZmFjZTEiPjxwYXRoIGQ9Ik0zNi41IDEyYy0xLjMyNCAwLTIuNTkuMjU4LTMuNzU4LjcwM0E3Ljk5NCA3Ljk5NCAwIDAgMCAyNiA5Yy0yLjEwNSAwLTQuMDIuODItNS40NDUgMi4xNTJBOS40NjggOS40NjggMCAwIDAgMTMuNSA4QzguMjU0IDggNCAxMi4yNTQgNCAxNy41YzAgLjc5My4xMSAxLjU1OS4yOSAyLjI5M0E4LjQ3MiA4LjQ3MiAwIDAgMCAxIDI2LjVDMSAzMS4xOTUgNC44MDUgMzUgOS41IDM1Yy40MTQgMCAuODE2LS4wNCAxLjIxNS0uMDk4IDEuMzEyIDMgNC4zIDUuMDk4IDcuNzg1IDUuMDk4IDMuMTYgMCA1LjkxNC0xLjczIDcuMzc5LTQuMjkzQTcuOTIzIDcuOTIzIDAgMCAwIDI4IDM2YzIuNjIxIDAgNC45MzgtMS4yNjYgNi4zOTgtMy4yMS42OC4xMzYgMS4zODMuMjEgMi4xMDIuMjFDNDIuMyAzMyA0NyAyOC4zIDQ3IDIyLjVTNDIuMyAxMiAzNi41IDEyeiIgZmlsbD0iIzAzOUJFNSIvPjxwYXRoIGQ9Ik0xNS44MjQgMjVjLjA0MyAwIC4wNzQtLjAzNS4wNzQtLjA4MiAwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjEuNTA0IDIzLjkzNHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNy4xMzcgMjMuOTNhLjExNi4xMTYgMCAwIDEgLjAwNCAwaC0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yNC4xMjUgMjEuOTFjLS4wMTYuMDQtLjA0Ny4wNDMtLjA3LjA0M2guMDA4Yy4wMjMgMCAuMDUtLjAwOC4wNjItLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODI0IDE5Yy4wNDMgMCAuMDc0LjAzNS4wNzQuMDgyIDAtLjA0Ny0uMDMtLjA4Mi0uMDc0LS4wODJ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTIxLjM2IDIyLjE4NGMwIC40MS4yMS42NjQuNTAzLjgzNi0uMjkzLS4xNzItLjUwNC0uNDI2LS41MDQtLjgzNnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzguMTI1IDI0LjczYy4wMjcuMDYtLjAzMS4wODYtLjAzMS4wODZzLjA1OC0uMDI3LjAzMS0uMDg2eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik04LjU1OSAyMXoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNOS43NjYgMjEuOTFjLS4wMi4wNC0uMDQ3LjA0My0uMDc1LjA0M0g5LjdjLjAyOCAwIC4wNTEtLjAwOC4wNjctLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzUuMTk1IDI0LjE2NHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuODI4IDIxLjc5N2gtLjAyM3MuMDA4LjAwNC4wMjMuMDA0di0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zNy44MzIgMjQuMTg4cy4wMTYgMCAuMDM1LS4wMDRoLS4wMDRjLS4wMTUgMC0uMDMxLjAwMy0uMDMxLjAwM3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNi44ODcgMjQuNDZjLS4wMzIuMDcxLjAwOC4wODcuMDIuMDk5LjA4NS4wNTguMTcxLjA5Ny4yNjEuMTQ0LjQ2OS4yMy45MS4yOTcgMS4zNzUuMjk3Ljk0NSAwIDEuNTMxLS40NiAxLjUzMS0xLjIwN3YtLjAxNmMwLS42ODctLjY2NC0uOTM3LTEuMjg1LTEuMTE3bC0uMDc4LS4wMjNjLS40NjktLjE0LS44NzEtLjI2Mi0uODcxLS41NDd2LS4wMTZjMC0uMjQyLjIzNC0uNDIyLjYwMS0uNDIyLjQwNyAwIC44ODcuMTI1IDEuMi4yODUgMCAwIC4wOS4wNTUuMTI1LS4wMjcuMDE1LS4wNDMuMTc1LS40MzMuMTkxLS40NzYuMDItLjA0My0uMDE2LS4wNzktLjA0Ny0uMDk4QTIuODQ1IDIuODQ1IDAgMCAwIDguNTYgMjFoLS4wOTRjLS44NjMgMC0xLjQ2OS40OC0xLjQ2OSAxLjE3MnYuMDEyYzAgLjcyNi42NjQuOTY0IDEuMjkgMS4xMjhsLjEuMDI4Yy40NTQuMTI5Ljg0NC4yMzguODQ0LjUzMXYuMDE2YzAgLjI3LS4yNTMuNDcyLS42NjQuNDcyLS4xNiAwLS42NjgtLjAwNC0xLjIxNC0uMzI0YTIuNDUgMi40NSAwIDAgMS0uMTU3LS4wOWMtLjAyNy0uMDE1LS4wOTMtLjA0My0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMS4yNDYgMjQuNDZjLS4wMjcuMDcxLjAxMi4wODcuMDIuMDk5LjA5LjA1OC4xNzUuMDk3LjI2MS4xNDQuNDcuMjMuOTE0LjI5NyAxLjM4LjI5Ny45NCAwIDEuNTI3LS40NiAxLjUyNy0xLjIwN3YtLjAxNmMwLS42ODctLjY2LS45MzctMS4yODItMS4xMTdsLS4wODItLjAyM2MtLjQ2NS0uMTQtLjg3LS4yNjItLjg3LS41NDd2LS4wMTZjMC0uMjQyLjIzOC0uNDIyLjYwNS0uNDIyLjQwNiAwIC44ODYuMTI1IDEuMTk5LjI4NSAwIDAgLjA5LjA1NS4xMjUtLjAyNy4wMTYtLjA0My4xNzItLjQzMy4xOTEtLjQ3Ni4wMTYtLjA0My0uMDE1LS4wNzktLjA0Ny0uMDk4QTIuODU3IDIuODU3IDAgMCAwIDIyLjkyMiAyMWgtLjA5OGMtLjg2MyAwLTEuNDY1LjQ4LTEuNDY1IDEuMTcydi4wMTJjMCAuNzI2LjY2NC45NjQgMS4yOSAxLjEyOGwuMDk3LjAyOGMuNDU3LjEyOS44NDguMjM4Ljg0OC41MzF2LjAxNmMwIC4yNy0uMjU0LjQ3Mi0uNjY0LjQ3Mi0uMTYgMC0uNjY4LS4wMDQtMS4yMTUtLjMyNGEyLjQ1IDIuNDUgMCAwIDEtLjE1Ni0uMDljLS4wMi0uMDA4LS4wOTgtLjAzOS0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zMS40NjUgMjIuMjE5YTEuNzE0IDEuNzE0IDAgMCAwLS4zNi0uNjMzIDEuNzQgMS43NCAwIDAgMC0uNjAxLS40MyAyLjE4NyAyLjE4NyAwIDAgMC0uODQ4LS4xNTZjLS4zMTYgMC0uNjAxLjA1NS0uODQzLjE1NmExLjY3IDEuNjcgMCAwIDAtLjYwMi40M2MtLjE2NC4xNzYtLjI4MS4zOS0uMzYuNjMzYTIuNTQ0IDIuNTQ0IDAgMCAwLS4xMTcuNzg1YzAgLjI3Ny4wNC41NDMuMTE4Ljc4NWExLjY5MSAxLjY5MSAwIDAgMCAuOTYgMS4wNTljLjI0My4wOTcuNTI4LjE1Mi44NDQuMTUyLjMyIDAgLjYwNi0uMDUuODQ4LS4xNTIuMjM4LS4xMDIuNDQxLS4yNDYuNjAxLS40MjIuMTYtLjE4LjI4Mi0uMzk1LjM2LS42MzcuMDc4LS4yNDIuMTE3LS41MDQuMTE3LS43ODVzLS4wMzktLjU0My0uMTE3LS43ODVtLS43OS43ODVjMCAuNDIyLS4wODEuNzU4LS4yNS45OTItLjE2Ny4yMzQtLjQxNy4zNDgtLjc2OS4zNDgtLjM0NyAwLS41OTctLjExNC0uNzYxLS4zNDgtLjE2OC0uMjM0LS4yNS0uNTctLjI1LS45OTIgMC0uNDIyLjA4NS0uNzU4LjI1LS45ODguMTY0LS4yMzUuNDE0LS4zNDQuNzYxLS4zNDQuMzUyIDAgLjYwMi4xMS43Ny4zNDQuMTY4LjIzLjI1LjU2Ni4yNS45ODgiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuOTM0IDI0LjIzNGMtLjAyOC0uMDc0LS4xMDItLjA0Ny0uMTAyLS4wNDdhMS43NDMgMS43NDMgMCAwIDEtLjM2Ny4wOTggMi44OCAyLjg4IDAgMCAxLS40My4wMzFjLS4zODMgMC0uNjgzLS4xMDUtLjkwMi0uMzEyLS4yMTUtLjIxMS0uMzM2LS41NDctLjMzNi0xIDAtLjQxNC4xMS0uNzI3LjMtLjk2NS4xOTItLjIzNC40ODUtLjM1NS44NzYtLjM1NS4zMjQgMCAuNTc0LjAzNS44MzIuMTA5IDAgMCAuMDYyLjAyNy4wOS0uMDUuMDctLjE3Ny4xMi0uMzAyLjE5NS0uNDk3LjAyLS4wNTgtLjAzMS0uMDgyLS4wNS0uMDg2YTMuMjQgMy4yNCAwIDAgMC0uNTI0LS4xMjUgNC40MzUgNC40MzUgMCAwIDAtLjU5LS4wMzVjLS4zMzIgMC0uNjI1LjA1NS0uODguMTU2YTEuODQyIDEuODQyIDAgMCAwLS42MzYuNDI2Yy0uMTY4LjE4LS4yOTcuMzk1LS4zODMuNjM3YTIuMzE1IDIuMzE1IDAgMCAwLS4xMjkuNzg1YzAgLjYwNS4xNzYgMS4wOTQuNTI4IDEuNDUzLjM0Ny4zNi44Ny41NDMgMS41NTQuNTQzLjQwMyAwIC44MTctLjA3NCAxLjExNC0uMTg0IDAgMCAuMDU4LS4wMjcuMDM1LS4wODZ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTQxLjk2NSAyMi4wODJhMS41MiAxLjUyIDAgMCAwLS4zNDQtLjU3OCAxLjUxNiAxLjUxNiAwIDAgMC0uNTA0LS4zNiAyLjEwNSAyLjEwNSAwIDAgMC0uNzY1LS4xNDRjLS4zMzIgMC0uNjMzLjA1LS44OC4xNi0uMjQ1LjEwNi0uNDUyLjI1LS42MTMuNDM0LS4xNjQuMTgtLjI4NS4zOTgtLjM2My42NGEyLjYwNSAyLjYwNSAwIDAgMC0uMTE3Ljc5YzAgLjI4NS4wNDMuNTUuMTIxLjc5Mi4wODIuMjM5LjIxLjQ1NC4zODcuNjMuMTc1LjE3NS40MDIuMzEyLjY3Mi40MS4yNjUuMDk3LjU5My4xNDguOTY4LjE0NC43NyAwIDEuMTc2LS4xNiAxLjM0LS4yNDYuMDMxLS4wMTYuMDU5LS4wNDMuMDI0LS4xMTdsLS4xNzItLjQ1M2MtLjAyOC0uMDctLjEwMi0uMDQzLS4xMDItLjA0My0uMTkxLjA2Mi0uNDYuMTgzLTEuMDk0LjE4LS40MTQgMC0uNzIyLS4xMS0uOTE0LS4yOS0uMTk1LS4xOC0uMjkzLS40NDUtLjMwOC0uODJoMi42NjRzLjA3IDAgLjA3OC0uMDY2Yy4wMDQtLjAyOC4wOS0uNTA4LS4wNzgtMS4wNjNtLTIuNjUzLjUxNmMuMDM2LS4yMzUuMTA2LS40MzQuMjE1LS41ODIuMTY0LS4yMzUuNDEtLjM2Ljc2Mi0uMzYuMzUyIDAgLjU4Mi4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTguNTgyeiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMC40NTMgMjIuMDgyYTEuNTE3IDEuNTE3IDAgMCAwLS4zNC0uNTc4IDEuNDkgMS40OSAwIDAgMC0uNTA4LS4zNiAyLjA4MyAyLjA4MyAwIDAgMC0uNzYxLS4xNDRjLS4zMzIgMC0uNjM3LjA1LS44ODMuMTYtLjI0Mi4xMDYtLjQ1LjI1LS42MTMuNDM0YTEuNzggMS43OCAwIDAgMC0uMzYuNjQgMi42MDUgMi42MDUgMCAwIDAtLjExNy43OWMwIC4yODUuMDQuNTUuMTIxLjc5Mi4wNzguMjM5LjIxMS40NTQuMzg3LjYzLjE3Ni4xNzUuMzk4LjMxMi42NjguNDEuMjcuMDk3LjU5NC4xNDguOTY5LjE0NC43NyAwIDEuMTc1LS4xNiAxLjM0My0uMjQ2LjAzMi0uMDE2LjA1NS0uMDQzLjAyNC0uMTE3bC0uMTc2LS40NTNjLS4wMjctLjA3LS4xMDItLjA0My0uMTAyLS4wNDMtLjE5LjA2Mi0uNDYuMTgzLTEuMDkzLjE4LS40MTQgMC0uNzE5LS4xMS0uOTEtLjI5LS4yLS4xOC0uMjk3LS40NDUtLjMxMy0uODJoMi42NjhzLjA3IDAgLjA3OC0uMDY2YzAtLjAyOC4wOS0uNTA4LS4wODItMS4wNjNtLTIuNjUyLjUxNmMuMDM5LS4yMzUuMTEtLjQzNC4yMTUtLjU4Mi4xNjQtLjIzNS40MTQtLjM2Ljc2NS0uMzYuMzQ4IDAgLjU3OC4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTc2LjU4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTIuOTMgMjIuNDhjLS4xMS0uMDAzLS4yNDYtLjAwNy0uNDE0LS4wMDctLjIzIDAtLjQ1NC4wMjMtLjY2LjA3OC0uMjA4LjA1LS4zOTUuMTI5LS41NTUuMjM4LS4xNi4xMDYtLjI5My4yNDItLjM4Ny40MDZhMS4xMzUgMS4xMzUgMCAwIDAtLjE0NC41N2MwIC4yMi4wNDMuNDEuMTI1LjU2My4wNzguMTU2LjE5NS4yODUuMzQzLjM4Ny4xNDkuMTAxLjMzMi4xNzYuNTQzLjIxOS4yMTEuMDQzLjQ1LjA2Ni43MTEuMDY2LjI3NCAwIC41NDMtLjAyLjgwOS0uMDYzLjI2MS0uMDQyLjU4Mi0uMTAxLjY3Mi0uMTIuMDktLjAyLjE4Ny0uMDQ0LjE4Ny0uMDQ0LjA2Ny0uMDE1LjA1OS0uMDgyLjA1OS0uMDgydi0yLjI1N2MwLS40OTctLjE0NS0uODY0LS40MjItMS4wOTQtLjI4MS0uMjI3LS42OTUtLjM0LTEuMjI3LS4zNC0uMTk5IDAtLjUyLjAyMy0uNzE1LjA2MyAwIDAtLjU4Mi4xMDEtLjgyLjI3NyAwIDAtLjA1NS4wMzEtLjAyMy4wOThsLjE4Ny40NjhjLjAyNC4wNjMuMDg2LjA0My4wODYuMDQzcy4wMjQtLjAwOC4wNDctLjAyM2MuNTEyLS4yNTggMS4xNi0uMjUgMS4xNi0uMjUuMjkgMCAuNTEyLjA1NC42Ni4xNi4xNDUuMTA1LjIyLjI1OC4yMi41OXYuMTA1Yy0uMjMxLS4wMzEtLjQ0Mi0uMDUtLjQ0Mi0uMDVtLTEuMDYzIDEuNzM4YS41MzguNTM4IDAgMCAxLS4xNTItLjE0OS41Ny41NyAwIDAgMS0uMDc4LS4zMmMwLS4yMTkuMDc4LS4zNzEuMjM4LS40NzctLjAwNCAwIC4yMy0uMTg3Ljc3My0uMTguMzguMDA1LjcyMy4wNTUuNzIzLjA1NXYxLjEyNXMtLjM0LjA2Ny0uNzE5LjA4NmMtLjU0My4wMzItLjc4NS0uMTQtLjc4NS0uMTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzQuNzYyIDIxLjE2OGMuMDItLjA1OS0uMDI0LS4wODItLjA0My0uMDlhMi41MjYgMi41MjYgMCAwIDAtLjQ0Ni0uMDc0Yy0uMzM2LS4wMi0uNTIuMDM1LS42ODcuMTA1LS4xNjguMDctLjM1Mi4xODgtLjQ1LjMybC0uMDAzLS4zMTJjMC0uMDQzLS4wMzEtLjA3OC0uMDc0LS4wNzhoLS42ODRhLjA3Ni4wNzYgMCAwIDAtLjA3OC4wNzh2My44MDVjMCAuMDQzLjAzOS4wNzguMDgyLjA3OGguN2EuMDguMDggMCAwIDAgLjA4MS0uMDc4di0xLjg5OWMwLS4yNTcuMDI4LS41MTEuMDg2LS42NzFhLjk2NC45NjQgMCAwIDEgLjIzNC0uMzc1Ljg2Ljg2IDAgMCAxIC4zMzMtLjE5MiAxLjM1IDEuMzUgMCAwIDEgLjM1NS0uMDQ3Yy4xNCAwIC4yOTMuMDM1LjI5My4wMzUuMDUuMDA0LjA3OC0uMDI3LjA5OC0uMDcuMDQ2LS4xMTMuMTc1LS40NjUuMjAzLS41MzUiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjguMjAzIDE5LjEwNWExLjk1IDEuOTUgMCAwIDAtLjYyNS0uMDljLS40ODQgMC0uODYzLjEzNy0xLjEyOS40MDctLjI2NS4yNjUtLjQ0NS42NzYtLjUzOSAxLjIxbC0uMDQ3LjM2NGgtLjYwNXMtLjA3NC0uMDA0LS4wOS4wNzhsLS4wOTguNTU1Yy0uMDA4LjA1NS4wMTYuMDg2LjA4Ni4wODZoLjU5bC0uNTk4IDMuMzM2YTQuNDMgNC40MyAwIDAgMS0uMTYuNjYgMS40MjIgMS40MjIgMCAwIDEtLjE4Ny4zNzkuNTA1LjUwNSAwIDAgMS0uMjQyLjE4NyAxIDEgMCAwIDEtLjMxNy4wNDMuOTcuOTcgMCAwIDEtLjIxLS4wMjMuNTguNTggMCAwIDEtLjE0NS0uMDQzcy0uMDctLjAyNy0uMDk4LjA0M2MtLjAyMy4wNTUtLjE4LjQ4OC0uMTk1LjUzOS0uMDIuMDU1LjAwNC4wOTQuMDM5LjEwNS4wNzguMDMyLjEzNy4wNDcuMjQyLjA3NS4xNDguMDM1LjI3My4wMzUuMzkuMDM1LjI0NyAwIC40Ny0uMDM1LjY1Ny0uMTAyLjE4Ny0uMDY2LjM0OC0uMTgzLjQ5Mi0uMzQ0LjE1Ni0uMTcxLjI1NC0uMzUxLjM0OC0uNTkzLjA5LS4yNDYuMTY4LS41NDcuMjM0LS44OTlsLjU5OC0zLjM5OGguODc5cy4wNzQuMDA0LjA5LS4wNzhsLjA5Ny0uNTU1Yy4wMDgtLjA1LS4wMTUtLjA4Ni0uMDg2LS4wODZoLS44NTFjLjAwNC0uMDIuMDU4LS41MDQuMTU2LS43ODVhLjc4OC43ODggMCAwIDEgLjE4Ny0uMjg1LjU2Ni41NjYgMCAwIDEgLjIyMy0uMTQgMS4xNjUgMS4xNjUgMCAwIDEgLjUwNC0uMDJjLjA4Mi4wMi4xMTcuMDI3LjEzNy4wMzUuMDkuMDI3LjA5NyAwIC4xMTctLjA0M2wuMjAzLS41NTljLjAyMy0uMDU4LS4wMjctLjA4Ni0uMDQ3LS4wOTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODk4IDI0LjkxOGMwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MmgtLjcwN2MtLjA0NyAwLS4wNzgtLjAzNS0uMDc4LS4wODJ2LTUuODM2YzAtLjA0Ny4wMzEtLjA4Mi4wNzgtLjA4MmguNzA3Yy4wNDMgMCAuMDc0LjA0LjA3NC4wODJ6IiBmaWxsPSIjRkZGIi8+PC9nPjxtZXRhZGF0YT48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zOnJkZnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PHJkZjpEZXNjcmlwdGlvbiBhYm91dD0iaHR0cHM6Ly9pY29uc2NvdXQuY29tL2xlZ2FsI2xpY2Vuc2VzIiBkYzp0aXRsZT0ic2FsZXNmb3JjZSIgZGM6ZGVzY3JpcHRpb249InNhbGVzZm9yY2UiIGRjOnB1Ymxpc2hlcj0iSWNvbnNjb3V0IiBkYzpkYXRlPSIyMDE3LTEyLTE1IiBkYzpmb3JtYXQ9ImltYWdlL3N2Zyt4bWwiIGRjOmxhbmd1YWdlPSJlbiI+PGRjOmNyZWF0b3I+PHJkZjpCYWc+PHJkZjpsaT5JY29uczg8L3JkZjpsaT48L3JkZjpCYWc+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L21ldGFkYXRhPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Salesforce" camel.apache.org/kamelet.namespace: "Salesforce" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Salesforce Source" description: Receive updates from Salesforce. required: - query - topicName - clientId - clientSecret - userName - password type: object properties: query: title: Query description: The query to execute on Salesforce. type: string example: SELECT Id, Name, Email, Phone FROM Contact topicName: title: Topic Name description: The name of the topic or channel. type: string example: ContactTopic loginUrl: title: Login URL description: The Salesforce instance login URL. type: string default: https://login.salesforce.com notifyForFields: title: Notify For Fields description: Notify for fields. type: string default: ALL enum: [ "ALL", "REFERENCED", "SELECT", "WHERE"] clientId: title: Consumer Key description: The Salesforce application consumer key. type: string x-descriptors: - urn:camel:group:credentials clientSecret: title: Consumer Secret description: The Salesforce application consumer secret. type: string format: password x-descriptors: - urn:camel:group:credentials userName: title: Username description: The Salesforce username. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The Salesforce user password. type: string format: password x-descriptors: - urn:camel:group:credentials notifyForOperationCreate: title: Notify Operation Create description: Notify for create operation. type: boolean default: true notifyForOperationUpdate: title: Notify Operation Update description: Notify for update operation. type: boolean default: false notifyForOperationDelete: title: Notify Operation Delete description: Notify for delete operation. type: boolean default: false notifyForOperationUndelete: title: Notify Operation Undelete description: Notify for undelete operation. type: boolean default: false operation: title: Operation description: The operation to use type: string default: subscribe rawPayload: title: Raw Payload description: Use raw payload String for request and response (either JSON or XML depending on format), instead of DTOs, false by default. type: boolean default: false replayId: title: Replay Id description: The replayId value to use when subscribing to the Streaming API. type: long types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:salesforce" - "camel:kamelet" template: beans: - name: local-salesforce type: "#class:org.apache.camel.component.salesforce.SalesforceComponent" properties: clientId: "{{clientId}}" clientSecret: "{{clientSecret}}" userName: "{{userName}}" password: "{{password}}" loginUrl: "{{loginUrl}}" from: uri: "{{local-salesforce}}:{{operation}}:{{topicName}}" parameters: notifyForFields: "{{notifyForFields}}" updateTopic: "true" notifyForOperationCreate: "{{notifyForOperationCreate}}" notifyForOperationUpdate: "{{notifyForOperationUpdate}}" notifyForOperationDelete: "{{notifyForOperationDelete}}" notifyForOperationUndelete: "{{notifyForOperationUndelete}}" sObjectQuery: "{{query}}" rawPayload: "{{rawPayload}}" replayId: "{{?replayId}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: salesforce-update-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCA0OCA0OCIgdmVyc2lvbj0iMS4xIj48ZyBpZD0ic3VyZmFjZTEiPjxwYXRoIGQ9Ik0zNi41IDEyYy0xLjMyNCAwLTIuNTkuMjU4LTMuNzU4LjcwM0E3Ljk5NCA3Ljk5NCAwIDAgMCAyNiA5Yy0yLjEwNSAwLTQuMDIuODItNS40NDUgMi4xNTJBOS40NjggOS40NjggMCAwIDAgMTMuNSA4QzguMjU0IDggNCAxMi4yNTQgNCAxNy41YzAgLjc5My4xMSAxLjU1OS4yOSAyLjI5M0E4LjQ3MiA4LjQ3MiAwIDAgMCAxIDI2LjVDMSAzMS4xOTUgNC44MDUgMzUgOS41IDM1Yy40MTQgMCAuODE2LS4wNCAxLjIxNS0uMDk4IDEuMzEyIDMgNC4zIDUuMDk4IDcuNzg1IDUuMDk4IDMuMTYgMCA1LjkxNC0xLjczIDcuMzc5LTQuMjkzQTcuOTIzIDcuOTIzIDAgMCAwIDI4IDM2YzIuNjIxIDAgNC45MzgtMS4yNjYgNi4zOTgtMy4yMS42OC4xMzYgMS4zODMuMjEgMi4xMDIuMjFDNDIuMyAzMyA0NyAyOC4zIDQ3IDIyLjVTNDIuMyAxMiAzNi41IDEyeiIgZmlsbD0iIzAzOUJFNSIvPjxwYXRoIGQ9Ik0xNS44MjQgMjVjLjA0MyAwIC4wNzQtLjAzNS4wNzQtLjA4MiAwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjEuNTA0IDIzLjkzNHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNy4xMzcgMjMuOTNhLjExNi4xMTYgMCAwIDEgLjAwNCAwaC0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yNC4xMjUgMjEuOTFjLS4wMTYuMDQtLjA0Ny4wNDMtLjA3LjA0M2guMDA4Yy4wMjMgMCAuMDUtLjAwOC4wNjItLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODI0IDE5Yy4wNDMgMCAuMDc0LjAzNS4wNzQuMDgyIDAtLjA0Ny0uMDMtLjA4Mi0uMDc0LS4wODJ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTIxLjM2IDIyLjE4NGMwIC40MS4yMS42NjQuNTAzLjgzNi0uMjkzLS4xNzItLjUwNC0uNDI2LS41MDQtLjgzNnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzguMTI1IDI0LjczYy4wMjcuMDYtLjAzMS4wODYtLjAzMS4wODZzLjA1OC0uMDI3LjAzMS0uMDg2eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik04LjU1OSAyMXoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNOS43NjYgMjEuOTFjLS4wMi4wNC0uMDQ3LjA0My0uMDc1LjA0M0g5LjdjLjAyOCAwIC4wNTEtLjAwOC4wNjctLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzUuMTk1IDI0LjE2NHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuODI4IDIxLjc5N2gtLjAyM3MuMDA4LjAwNC4wMjMuMDA0di0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zNy44MzIgMjQuMTg4cy4wMTYgMCAuMDM1LS4wMDRoLS4wMDRjLS4wMTUgMC0uMDMxLjAwMy0uMDMxLjAwM3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNi44ODcgMjQuNDZjLS4wMzIuMDcxLjAwOC4wODcuMDIuMDk5LjA4NS4wNTguMTcxLjA5Ny4yNjEuMTQ0LjQ2OS4yMy45MS4yOTcgMS4zNzUuMjk3Ljk0NSAwIDEuNTMxLS40NiAxLjUzMS0xLjIwN3YtLjAxNmMwLS42ODctLjY2NC0uOTM3LTEuMjg1LTEuMTE3bC0uMDc4LS4wMjNjLS40NjktLjE0LS44NzEtLjI2Mi0uODcxLS41NDd2LS4wMTZjMC0uMjQyLjIzNC0uNDIyLjYwMS0uNDIyLjQwNyAwIC44ODcuMTI1IDEuMi4yODUgMCAwIC4wOS4wNTUuMTI1LS4wMjcuMDE1LS4wNDMuMTc1LS40MzMuMTkxLS40NzYuMDItLjA0My0uMDE2LS4wNzktLjA0Ny0uMDk4QTIuODQ1IDIuODQ1IDAgMCAwIDguNTYgMjFoLS4wOTRjLS44NjMgMC0xLjQ2OS40OC0xLjQ2OSAxLjE3MnYuMDEyYzAgLjcyNi42NjQuOTY0IDEuMjkgMS4xMjhsLjEuMDI4Yy40NTQuMTI5Ljg0NC4yMzguODQ0LjUzMXYuMDE2YzAgLjI3LS4yNTMuNDcyLS42NjQuNDcyLS4xNiAwLS42NjgtLjAwNC0xLjIxNC0uMzI0YTIuNDUgMi40NSAwIDAgMS0uMTU3LS4wOWMtLjAyNy0uMDE1LS4wOTMtLjA0My0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMS4yNDYgMjQuNDZjLS4wMjcuMDcxLjAxMi4wODcuMDIuMDk5LjA5LjA1OC4xNzUuMDk3LjI2MS4xNDQuNDcuMjMuOTE0LjI5NyAxLjM4LjI5Ny45NCAwIDEuNTI3LS40NiAxLjUyNy0xLjIwN3YtLjAxNmMwLS42ODctLjY2LS45MzctMS4yODItMS4xMTdsLS4wODItLjAyM2MtLjQ2NS0uMTQtLjg3LS4yNjItLjg3LS41NDd2LS4wMTZjMC0uMjQyLjIzOC0uNDIyLjYwNS0uNDIyLjQwNiAwIC44ODYuMTI1IDEuMTk5LjI4NSAwIDAgLjA5LjA1NS4xMjUtLjAyNy4wMTYtLjA0My4xNzItLjQzMy4xOTEtLjQ3Ni4wMTYtLjA0My0uMDE1LS4wNzktLjA0Ny0uMDk4QTIuODU3IDIuODU3IDAgMCAwIDIyLjkyMiAyMWgtLjA5OGMtLjg2MyAwLTEuNDY1LjQ4LTEuNDY1IDEuMTcydi4wMTJjMCAuNzI2LjY2NC45NjQgMS4yOSAxLjEyOGwuMDk3LjAyOGMuNDU3LjEyOS44NDguMjM4Ljg0OC41MzF2LjAxNmMwIC4yNy0uMjU0LjQ3Mi0uNjY0LjQ3Mi0uMTYgMC0uNjY4LS4wMDQtMS4yMTUtLjMyNGEyLjQ1IDIuNDUgMCAwIDEtLjE1Ni0uMDljLS4wMi0uMDA4LS4wOTgtLjAzOS0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zMS40NjUgMjIuMjE5YTEuNzE0IDEuNzE0IDAgMCAwLS4zNi0uNjMzIDEuNzQgMS43NCAwIDAgMC0uNjAxLS40MyAyLjE4NyAyLjE4NyAwIDAgMC0uODQ4LS4xNTZjLS4zMTYgMC0uNjAxLjA1NS0uODQzLjE1NmExLjY3IDEuNjcgMCAwIDAtLjYwMi40M2MtLjE2NC4xNzYtLjI4MS4zOS0uMzYuNjMzYTIuNTQ0IDIuNTQ0IDAgMCAwLS4xMTcuNzg1YzAgLjI3Ny4wNC41NDMuMTE4Ljc4NWExLjY5MSAxLjY5MSAwIDAgMCAuOTYgMS4wNTljLjI0My4wOTcuNTI4LjE1Mi44NDQuMTUyLjMyIDAgLjYwNi0uMDUuODQ4LS4xNTIuMjM4LS4xMDIuNDQxLS4yNDYuNjAxLS40MjIuMTYtLjE4LjI4Mi0uMzk1LjM2LS42MzcuMDc4LS4yNDIuMTE3LS41MDQuMTE3LS43ODVzLS4wMzktLjU0My0uMTE3LS43ODVtLS43OS43ODVjMCAuNDIyLS4wODEuNzU4LS4yNS45OTItLjE2Ny4yMzQtLjQxNy4zNDgtLjc2OS4zNDgtLjM0NyAwLS41OTctLjExNC0uNzYxLS4zNDgtLjE2OC0uMjM0LS4yNS0uNTctLjI1LS45OTIgMC0uNDIyLjA4NS0uNzU4LjI1LS45ODguMTY0LS4yMzUuNDE0LS4zNDQuNzYxLS4zNDQuMzUyIDAgLjYwMi4xMS43Ny4zNDQuMTY4LjIzLjI1LjU2Ni4yNS45ODgiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuOTM0IDI0LjIzNGMtLjAyOC0uMDc0LS4xMDItLjA0Ny0uMTAyLS4wNDdhMS43NDMgMS43NDMgMCAwIDEtLjM2Ny4wOTggMi44OCAyLjg4IDAgMCAxLS40My4wMzFjLS4zODMgMC0uNjgzLS4xMDUtLjkwMi0uMzEyLS4yMTUtLjIxMS0uMzM2LS41NDctLjMzNi0xIDAtLjQxNC4xMS0uNzI3LjMtLjk2NS4xOTItLjIzNC40ODUtLjM1NS44NzYtLjM1NS4zMjQgMCAuNTc0LjAzNS44MzIuMTA5IDAgMCAuMDYyLjAyNy4wOS0uMDUuMDctLjE3Ny4xMi0uMzAyLjE5NS0uNDk3LjAyLS4wNTgtLjAzMS0uMDgyLS4wNS0uMDg2YTMuMjQgMy4yNCAwIDAgMC0uNTI0LS4xMjUgNC40MzUgNC40MzUgMCAwIDAtLjU5LS4wMzVjLS4zMzIgMC0uNjI1LjA1NS0uODguMTU2YTEuODQyIDEuODQyIDAgMCAwLS42MzYuNDI2Yy0uMTY4LjE4LS4yOTcuMzk1LS4zODMuNjM3YTIuMzE1IDIuMzE1IDAgMCAwLS4xMjkuNzg1YzAgLjYwNS4xNzYgMS4wOTQuNTI4IDEuNDUzLjM0Ny4zNi44Ny41NDMgMS41NTQuNTQzLjQwMyAwIC44MTctLjA3NCAxLjExNC0uMTg0IDAgMCAuMDU4LS4wMjcuMDM1LS4wODZ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTQxLjk2NSAyMi4wODJhMS41MiAxLjUyIDAgMCAwLS4zNDQtLjU3OCAxLjUxNiAxLjUxNiAwIDAgMC0uNTA0LS4zNiAyLjEwNSAyLjEwNSAwIDAgMC0uNzY1LS4xNDRjLS4zMzIgMC0uNjMzLjA1LS44OC4xNi0uMjQ1LjEwNi0uNDUyLjI1LS42MTMuNDM0LS4xNjQuMTgtLjI4NS4zOTgtLjM2My42NGEyLjYwNSAyLjYwNSAwIDAgMC0uMTE3Ljc5YzAgLjI4NS4wNDMuNTUuMTIxLjc5Mi4wODIuMjM5LjIxLjQ1NC4zODcuNjMuMTc1LjE3NS40MDIuMzEyLjY3Mi40MS4yNjUuMDk3LjU5My4xNDguOTY4LjE0NC43NyAwIDEuMTc2LS4xNiAxLjM0LS4yNDYuMDMxLS4wMTYuMDU5LS4wNDMuMDI0LS4xMTdsLS4xNzItLjQ1M2MtLjAyOC0uMDctLjEwMi0uMDQzLS4xMDItLjA0My0uMTkxLjA2Mi0uNDYuMTgzLTEuMDk0LjE4LS40MTQgMC0uNzIyLS4xMS0uOTE0LS4yOS0uMTk1LS4xOC0uMjkzLS40NDUtLjMwOC0uODJoMi42NjRzLjA3IDAgLjA3OC0uMDY2Yy4wMDQtLjAyOC4wOS0uNTA4LS4wNzgtMS4wNjNtLTIuNjUzLjUxNmMuMDM2LS4yMzUuMTA2LS40MzQuMjE1LS41ODIuMTY0LS4yMzUuNDEtLjM2Ljc2Mi0uMzYuMzUyIDAgLjU4Mi4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTguNTgyeiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMC40NTMgMjIuMDgyYTEuNTE3IDEuNTE3IDAgMCAwLS4zNC0uNTc4IDEuNDkgMS40OSAwIDAgMC0uNTA4LS4zNiAyLjA4MyAyLjA4MyAwIDAgMC0uNzYxLS4xNDRjLS4zMzIgMC0uNjM3LjA1LS44ODMuMTYtLjI0Mi4xMDYtLjQ1LjI1LS42MTMuNDM0YTEuNzggMS43OCAwIDAgMC0uMzYuNjQgMi42MDUgMi42MDUgMCAwIDAtLjExNy43OWMwIC4yODUuMDQuNTUuMTIxLjc5Mi4wNzguMjM5LjIxMS40NTQuMzg3LjYzLjE3Ni4xNzUuMzk4LjMxMi42NjguNDEuMjcuMDk3LjU5NC4xNDguOTY5LjE0NC43NyAwIDEuMTc1LS4xNiAxLjM0My0uMjQ2LjAzMi0uMDE2LjA1NS0uMDQzLjAyNC0uMTE3bC0uMTc2LS40NTNjLS4wMjctLjA3LS4xMDItLjA0My0uMTAyLS4wNDMtLjE5LjA2Mi0uNDYuMTgzLTEuMDkzLjE4LS40MTQgMC0uNzE5LS4xMS0uOTEtLjI5LS4yLS4xOC0uMjk3LS40NDUtLjMxMy0uODJoMi42NjhzLjA3IDAgLjA3OC0uMDY2YzAtLjAyOC4wOS0uNTA4LS4wODItMS4wNjNtLTIuNjUyLjUxNmMuMDM5LS4yMzUuMTEtLjQzNC4yMTUtLjU4Mi4xNjQtLjIzNS40MTQtLjM2Ljc2NS0uMzYuMzQ4IDAgLjU3OC4xMjUuNzQ2LjM2LjExLjE1Mi4xNi4zNTUuMTc2LjU4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTIuOTMgMjIuNDhjLS4xMS0uMDAzLS4yNDYtLjAwNy0uNDE0LS4wMDctLjIzIDAtLjQ1NC4wMjMtLjY2LjA3OC0uMjA4LjA1LS4zOTUuMTI5LS41NTUuMjM4LS4xNi4xMDYtLjI5My4yNDItLjM4Ny40MDZhMS4xMzUgMS4xMzUgMCAwIDAtLjE0NC41N2MwIC4yMi4wNDMuNDEuMTI1LjU2My4wNzguMTU2LjE5NS4yODUuMzQzLjM4Ny4xNDkuMTAxLjMzMi4xNzYuNTQzLjIxOS4yMTEuMDQzLjQ1LjA2Ni43MTEuMDY2LjI3NCAwIC41NDMtLjAyLjgwOS0uMDYzLjI2MS0uMDQyLjU4Mi0uMTAxLjY3Mi0uMTIuMDktLjAyLjE4Ny0uMDQ0LjE4Ny0uMDQ0LjA2Ny0uMDE1LjA1OS0uMDgyLjA1OS0uMDgydi0yLjI1N2MwLS40OTctLjE0NS0uODY0LS40MjItMS4wOTQtLjI4MS0uMjI3LS42OTUtLjM0LTEuMjI3LS4zNC0uMTk5IDAtLjUyLjAyMy0uNzE1LjA2MyAwIDAtLjU4Mi4xMDEtLjgyLjI3NyAwIDAtLjA1NS4wMzEtLjAyMy4wOThsLjE4Ny40NjhjLjAyNC4wNjMuMDg2LjA0My4wODYuMDQzcy4wMjQtLjAwOC4wNDctLjAyM2MuNTEyLS4yNTggMS4xNi0uMjUgMS4xNi0uMjUuMjkgMCAuNTEyLjA1NC42Ni4xNi4xNDUuMTA1LjIyLjI1OC4yMi41OXYuMTA1Yy0uMjMxLS4wMzEtLjQ0Mi0uMDUtLjQ0Mi0uMDVtLTEuMDYzIDEuNzM4YS41MzguNTM4IDAgMCAxLS4xNTItLjE0OS41Ny41NyAwIDAgMS0uMDc4LS4zMmMwLS4yMTkuMDc4LS4zNzEuMjM4LS40NzctLjAwNCAwIC4yMy0uMTg3Ljc3My0uMTguMzguMDA1LjcyMy4wNTUuNzIzLjA1NXYxLjEyNXMtLjM0LjA2Ny0uNzE5LjA4NmMtLjU0My4wMzItLjc4NS0uMTQtLjc4NS0uMTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzQuNzYyIDIxLjE2OGMuMDItLjA1OS0uMDI0LS4wODItLjA0My0uMDlhMi41MjYgMi41MjYgMCAwIDAtLjQ0Ni0uMDc0Yy0uMzM2LS4wMi0uNTIuMDM1LS42ODcuMTA1LS4xNjguMDctLjM1Mi4xODgtLjQ1LjMybC0uMDAzLS4zMTJjMC0uMDQzLS4wMzEtLjA3OC0uMDc0LS4wNzhoLS42ODRhLjA3Ni4wNzYgMCAwIDAtLjA3OC4wNzh2My44MDVjMCAuMDQzLjAzOS4wNzguMDgyLjA3OGguN2EuMDguMDggMCAwIDAgLjA4MS0uMDc4di0xLjg5OWMwLS4yNTcuMDI4LS41MTEuMDg2LS42NzFhLjk2NC45NjQgMCAwIDEgLjIzNC0uMzc1Ljg2Ljg2IDAgMCAxIC4zMzMtLjE5MiAxLjM1IDEuMzUgMCAwIDEgLjM1NS0uMDQ3Yy4xNCAwIC4yOTMuMDM1LjI5My4wMzUuMDUuMDA0LjA3OC0uMDI3LjA5OC0uMDcuMDQ2LS4xMTMuMTc1LS40NjUuMjAzLS41MzUiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjguMjAzIDE5LjEwNWExLjk1IDEuOTUgMCAwIDAtLjYyNS0uMDljLS40ODQgMC0uODYzLjEzNy0xLjEyOS40MDctLjI2NS4yNjUtLjQ0NS42NzYtLjUzOSAxLjIxbC0uMDQ3LjM2NGgtLjYwNXMtLjA3NC0uMDA0LS4wOS4wNzhsLS4wOTguNTU1Yy0uMDA4LjA1NS4wMTYuMDg2LjA4Ni4wODZoLjU5bC0uNTk4IDMuMzM2YTQuNDMgNC40MyAwIDAgMS0uMTYuNjYgMS40MjIgMS40MjIgMCAwIDEtLjE4Ny4zNzkuNTA1LjUwNSAwIDAgMS0uMjQyLjE4NyAxIDEgMCAwIDEtLjMxNy4wNDMuOTcuOTcgMCAwIDEtLjIxLS4wMjMuNTguNTggMCAwIDEtLjE0NS0uMDQzcy0uMDctLjAyNy0uMDk4LjA0M2MtLjAyMy4wNTUtLjE4LjQ4OC0uMTk1LjUzOS0uMDIuMDU1LjAwNC4wOTQuMDM5LjEwNS4wNzguMDMyLjEzNy4wNDcuMjQyLjA3NS4xNDguMDM1LjI3My4wMzUuMzkuMDM1LjI0NyAwIC40Ny0uMDM1LjY1Ny0uMTAyLjE4Ny0uMDY2LjM0OC0uMTgzLjQ5Mi0uMzQ0LjE1Ni0uMTcxLjI1NC0uMzUxLjM0OC0uNTkzLjA5LS4yNDYuMTY4LS41NDcuMjM0LS44OTlsLjU5OC0zLjM5OGguODc5cy4wNzQuMDA0LjA5LS4wNzhsLjA5Ny0uNTU1Yy4wMDgtLjA1LS4wMTUtLjA4Ni0uMDg2LS4wODZoLS44NTFjLjAwNC0uMDIuMDU4LS41MDQuMTU2LS43ODVhLjc4OC43ODggMCAwIDEgLjE4Ny0uMjg1LjU2Ni41NjYgMCAwIDEgLjIyMy0uMTQgMS4xNjUgMS4xNjUgMCAwIDEgLjUwNC0uMDJjLjA4Mi4wMi4xMTcuMDI3LjEzNy4wMzUuMDkuMDI3LjA5NyAwIC4xMTctLjA0M2wuMjAzLS41NTljLjAyMy0uMDU4LS4wMjctLjA4Ni0uMDQ3LS4wOTQiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODk4IDI0LjkxOGMwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MmgtLjcwN2MtLjA0NyAwLS4wNzgtLjAzNS0uMDc4LS4wODJ2LTUuODM2YzAtLjA0Ny4wMzEtLjA4Mi4wNzgtLjA4MmguNzA3Yy4wNDMgMCAuMDc0LjA0LjA3NC4wODJ6IiBmaWxsPSIjRkZGIi8+PC9nPjxtZXRhZGF0YT48cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiIHhtbG5zOnJkZnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDEvcmRmLXNjaGVtYSMiIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyI+PHJkZjpEZXNjcmlwdGlvbiBhYm91dD0iaHR0cHM6Ly9pY29uc2NvdXQuY29tL2xlZ2FsI2xpY2Vuc2VzIiBkYzp0aXRsZT0ic2FsZXNmb3JjZSIgZGM6ZGVzY3JpcHRpb249InNhbGVzZm9yY2UiIGRjOnB1Ymxpc2hlcj0iSWNvbnNjb3V0IiBkYzpkYXRlPSIyMDE3LTEyLTE1IiBkYzpmb3JtYXQ9ImltYWdlL3N2Zyt4bWwiIGRjOmxhbmd1YWdlPSJlbiI+PGRjOmNyZWF0b3I+PHJkZjpCYWc+PHJkZjpsaT5JY29uczg8L3JkZjpsaT48L3JkZjpCYWc+PC9kYzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPjwvcmRmOlJERj48L21ldGFkYXRhPjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Salesforce" camel.apache.org/kamelet.namespace: "Salesforce" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Salesforce Update Sink" description: Update an object in Salesforce. required: - clientId - clientSecret - userName - password type: object properties: loginUrl: title: Login URL description: The Salesforce instance login URL. type: string default: https://login.salesforce.com clientId: title: Consumer Key description: The Salesforce application consumer key. type: string x-descriptors: - urn:camel:group:credentials clientSecret: title: Consumer Secret description: The Salesforce application consumer secret. type: string format: password x-descriptors: - urn:camel:group:credentials userName: title: Username description: The Salesforce username. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The Salesforce user password. type: string format: password x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:core" - "camel:jsonpath" - "camel:jackson" - "camel:salesforce" - "camel:kamelet" template: beans: - name: local-salesforce type: "#class:org.apache.camel.component.salesforce.SalesforceComponent" properties: clientId: "{{clientId}}" clientSecret: "{{clientSecret}}" userName: "{{userName}}" password: "{{password}}" loginUrl: "{{loginUrl}}" from: uri: kamelet:source steps: - setHeader: name: sObjectId jsonpath: "$.sObjectId" - setHeader: name: sObjectName jsonpath: "$.sObjectName" - transform: jsonpath: "$.payload" - marshal: json: {} - to: uri: "{{local-salesforce}}:updateSObject" parameters: rawPayload: "true" - removeHeader: name: sObjectId - removeHeader: name: sObjectName --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: scp-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMjEuMSAzMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIyMS4xIDMwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzgzMkVBQjt9DQoJLnN0MXtmaWxsOiNCQUJBQkE7fQ0KCS5zdDJ7ZmlsbDpub25lO30NCgkuc3Qze2ZpbGw6IzhEQzYzRjt9DQoJLnN0NHtmaWxsOiMwRjlCRDc7fQ0KCS5zdDV7ZmlsbDojRkZGRkZGO30NCgkuc3Q2e2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQoJLnN0N3tmaWxsOiMxREExRjI7fQ0KCS5zdDh7ZmlsbDojM0Q1QTk4O30NCgkuc3Q5e2ZpbGw6IzIzMUYyMDt9DQoJLnN0MTB7ZmlsbDojMDA3QkI1O30NCgkuc3QxMXtmaWxsOiNEQzRFNDE7fQ0KCS5zdDEye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzE4MTYxNjt9DQoJLnN0MTN7ZmlsbDojMTgxNjE2O30NCgkuc3QxNHtmaWxsOiNGMkYyRjI7fQ0KCS5zdDE1e2ZpbGw6I0UzRTNFMzt9DQoJLnN0MTZ7ZmlsbDojRDU0QjNEO30NCgkuc3QxN3tmaWxsOiNENzJCMjc7fQ0KCS5zdDE4e29wYWNpdHk6MC41NjtmaWxsOnVybCgjU1ZHSURfMV8pO30NCgkuc3QxOXtmaWxsOiM5MkQ0MDA7fQ0KCS5zdDIwe2ZpbGw6IzAwQjlFNDt9DQoJLnN0MjF7Zm9udC1mYW1pbHk6J09wZW5TYW5zLUJvbGQnO30NCgkuc3QyMntmb250LXNpemU6NDUuNDExNXB4O30NCgkuc3QyM3tmaWxsOiMyQjM5OTA7fQ0KCS5zdDI0e2ZpbGw6IzNGOUMzNTt9DQoJLnN0MjV7ZmlsbDojOEZDRUQ4O30NCgkuc3QyNntmaWxsOiNEMjFGMjE7fQ0KCS5zdDI3e2ZpbGw6I0Q2RDZENjt9DQoJLnN0Mjh7ZmlsbDojRjFGMUYxO30NCgkuc3QyOXtmaWxsOiNDMzIyNjU7fQ0KCS5zdDMwe2ZpbGw6IzhDMzEyMzt9DQoJLnN0MzF7ZmlsbDojRTA1MjQzO30NCgkuc3QzMntmaWxsOiM1RTFGMTg7fQ0KCS5zdDMze2ZpbGw6I0YyQjBBOTt9DQoJLnN0MzR7ZmlsbDojQ0FDQ0NFO30NCgkuc3QzNXtmaWxsOiNBMUFGREI7fQ0KCS5zdDM2e2ZpbGw6IzAwMjA4Nzt9DQo8L3N0eWxlPg0KPGc+DQoJPGc+DQoJCTxjaXJjbGUgY2xhc3M9InN0MjAiIGN4PSIxMTEuNiIgY3k9IjE5MS43IiByPSI4OC42Ii8+DQoJCTxnPg0KCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExMC42LDk5LjljLTUwLjgsMC05Mi4yLDQxLjQtOTIuMiw5Mi4yYzAsNTAuOSw0MS40LDkyLjIsOTIuMiw5Mi4yaDBjNTAuOCwwLDkyLjItNDEuNCw5Mi4yLTkyLjINCgkJCQlDMjAyLjgsMTQxLjMsMTYxLjQsOTkuOSwxMTAuNiw5OS45eiBNMTgzLjIsMTQzLjljLTcsNi44LTEzLjMsMTQuNC0xOC42LDIyLjdjLTAuNS0wLjEtMC45LTAuMi0xLjQtMC4yYy0xLDAtMS45LDAuMy0yLjgsMC43DQoJCQkJYy00LjYtNi41LTguNC0xMy4xLTExLjMtMTkuNmMxLjctMS4xLDIuOC0zLDIuOC01LjJjMC0wLjYtMC4xLTEuMS0wLjMtMS43YzYuMy00LjQsMTEuNy05LjMsMTYtMTQuMw0KCQkJCUMxNzMuNiwxMzEuNCwxNzguOCwxMzcuMywxODMuMiwxNDMuOXogTTY4LjgsMTY5LjFjNC44LTAuNSw5LjYtMS4yLDE0LjUtMmMxLDIsMy4xLDMuNCw1LjUsMy40aDBjMC44LDAsMS43LTAuMiwyLjQtMC41DQoJCQkJYzYuMiw4LjksMTMuNSwxNy4xLDIxLjgsMjQuNGM4LjcsNy42LDE4LjIsMTQsMjguMSwxOS4xYy0wLjEsMC41LTAuMiwxLTAuMiwxLjVjMCwyLjQsMS40LDQuNSwzLjQsNS41DQoJCQkJYy0xLjEsNy4yLTEuNiwxNC41LTEuNSwyMS42Yy0xLjIsMC4zLTIuMywwLjgtMy4yLDEuNmMtOS4zLTYuNi0xOS40LTEyLjItMzAuMS0xNi41Yy0xMi45LTUuMi0yNi4yLTguNC0zOS41LTkuNw0KCQkJCWMtMC44LTMuNS0zLjktNi4xLTcuNi02LjJjLTEtNi4zLTEuNS0xMi43LTEuNS0xOS4yYzAtNS40LDAuNC0xMC43LDEuMS0xNS45QzY1LjUsMTc1LjcsNjguMywxNzIuOCw2OC44LDE2OS4xeiBNNjQuNywxNjEuMg0KCQkJCWMyLjMtOC43LDUuNS0xNyw5LjctMjQuN2MyLjYsNy45LDYsMTUuNywxMC4yLDIzLjFjLTEuMSwxLTEuOCwyLjMtMiwzLjhjLTQuOCwwLjgtOS41LDEuNS0xNC4zLDEuOQ0KCQkJCUM2Ny43LDE2My42LDY2LjQsMTYyLjEsNjQuNywxNjEuMnogTTE0Ni41LDIwOC45Yy0xLjgsMC4yLTMuNCwxLjEtNC40LDIuNGMtOS43LTUtMTktMTEuMi0yNy42LTE4LjdjLTguMi03LjItMTUuMy0xNS4zLTIxLjQtMjQNCgkJCQljMS0xLDEuNi0yLjQsMS43LTMuOWMxNy40LTQuMSwzMy40LTEwLjMsNDYuNy0xNy44YzEuMSwxLDIuNSwxLjYsNC4xLDEuNmgwYzAuNCwwLDAuOCwwLDEuMi0wLjFjMi45LDYuOCw2LjgsMTMuNiwxMS42LDIwLjMNCgkJCQljLTAuOSwxLjEtMS41LDIuNS0xLjUsNGMwLDEuNiwwLjYsMy4xLDEuNyw0LjJjLTMuNyw3LTYuOSwxNC40LTkuMywyMi4yQzE0OC4yLDIwMi4zLDE0Ny4zLDIwNS42LDE0Ni41LDIwOC45eiBNMTQ0LjQsMTExLjcNCgkJCQljNy40LDMuMSwxNC4yLDcuMiwyMC40LDEyLjFjLTQuMSw0LjctOS4yLDkuMy0xNS4zLDEzLjVjLTEuMS0wLjgtMi40LTEuNC0zLjgtMS40Yy0wLjIsMC0wLjMsMC0wLjUsMC4xDQoJCQkJQzE0Mi45LDEyNy4zLDE0Mi41LDExOC45LDE0NC40LDExMS43eiBNMTEwLjYsMTA0LjljMTEuMSwwLDIxLjcsMi4xLDMxLjUsNS45Yy0yLjEsNy43LTEuNywxNi42LDAuNywyNS45Yy0yLDEtMy40LDMuMS0zLjQsNS41DQoJCQkJYzAsMC41LDAuMSwwLjksMC4yLDEuNGMtMTMsNy40LTI4LjcsMTMuNS00NS42LDE3LjVjLTEuMS0xLjgtMy4xLTMuMS01LjMtMy4xYy0wLjcsMC0xLjQsMC4xLTIsMC40Yy00LjUtNy45LTguMS0xNi4zLTEwLjctMjQuOA0KCQkJCWM2LjQtMTEsMTQuNi0yMC41LDI0LjQtMjguMUMxMDMuOCwxMDUuMSwxMDcuMSwxMDQuOSwxMTAuNiwxMDQuOXogTTkzLjIsMTA2LjZjLTcuMSw2LjMtMTMuNCwxMy43LTE4LjUsMjINCgkJCQljLTEuMi00LjktMi4xLTkuOC0yLjctMTQuN0M3OC42LDExMC42LDg1LjgsMTA4LjEsOTMuMiwxMDYuNnogTTY5LjYsMTE1LjFjMC43LDUuNSwxLjgsMTEsMy4zLDE2LjVjLTUuMSw4LjgtOS4xLDE4LjQtMTEuOCwyOC41DQoJCQkJYy0wLjEsMC0wLjMsMC0wLjQsMGMtMy44LDAtNi45LDIuNi03LjgsNi4yYy04LjgsMC4xLTE3LjItMC41LTI1LjEtMS44QzM1LDE0My4yLDUwLjEsMTI1LjUsNjkuNiwxMTUuMXogTTIzLjMsMTkyLjENCgkJCQljMC04LjMsMS4yLTE2LjQsMy40LTI0YzcuNiwxLjMsMTUuNywyLDI0LjEsMmMwLjcsMCwxLjMsMCwyLTAuMWMwLjYsMi43LDIuNiw0LjksNS4yLDUuOGMtMC43LDUuMy0xLjEsMTAuOC0xLjEsMTYuMw0KCQkJCWMwLDYuOCwwLjUsMTMuNSwxLjYsMjBjLTIsMC45LTMuNiwyLjctNC4zLDQuOGMtOC45LDAuMS0xNy43LDEuMS0yNi40LDNDMjUsMjExLjIsMjMuMywyMDEuOCwyMy4zLDE5Mi4xeiBNMjkuMiwyMjMuNA0KCQkJCWM4LjItMS43LDE2LjUtMi42LDI0LjktMi44YzAuNiwzLjksMy45LDYuOCw4LDYuOGgwYzAsMCwwLjEsMCwwLjEsMGM1LjgsMTkuOCwxNi42LDM3LjIsMzEuMSw1MC4xDQoJCQkJQzYzLjgsMjcxLjYsMzkuOCwyNTAuOSwyOS4yLDIyMy40eiBNMTEwLjYsMjc5LjNMMTEwLjYsMjc5LjNjLTMuNCwwLTYuOC0wLjItMTAuMi0wLjZDODQsMjY2LDcyLDI0Ny43LDY1LjcsMjI2LjYNCgkJCQljMi0xLjEsMy42LTIuOSw0LjEtNS4yYzEyLjksMS4zLDI1LjcsNC40LDM4LjIsOS40YzEwLjQsNC4yLDIwLjIsOS42LDI5LjIsMTZjLTAuNSwxLTAuNywyLjEtMC43LDMuM2MwLDQuMiwzLjMsNy43LDcuNSw4DQoJCQkJYzAuNiw0LjUsMS41LDksMi43LDEzLjRDMTM1LjYsMjc2LjUsMTIzLjQsMjc5LjMsMTEwLjYsMjc5LjN6IE0xNTAsMjY5LjljLTEtNC4xLTEuOC04LjItMi40LTEyLjNjMC42LTAuMywxLjItMC42LDEuOC0xDQoJCQkJYzMuMSwyLjgsNiw1LjcsOC43LDguN0MxNTUuNSwyNjYuOSwxNTIuOCwyNjguNCwxNTAsMjY5Ljl6IE0xNjEuMywyNjNjLTMtMy4zLTYuMS02LjQtOS41LTkuNGMwLjUtMS4xLDAuOS0yLjMsMC45LTMuNg0KCQkJCWMwLTMuOC0yLjctNy02LjItNy44Yy0wLjEtNywwLjQtMTQsMS41LTIxYzEuOC0wLjIsMy4zLTEuMiw0LjMtMi42YzEyLjQsNC45LDI1LjMsNy44LDM4LjMsOC41QzE4NC4xLDI0MS41LDE3NCwyNTMuOSwxNjEuMywyNjMNCgkJCQl6IE0xOTEuNSwyMjQuNmMtMTMtMC42LTI1LjktMy40LTM4LjMtOC4zYzAuMS0wLjQsMC4xLTAuOCwwLjEtMS4yYzAtMi4zLTEuMy00LjMtMy4xLTUuNGMwLjgtMy4yLDEuNi02LjQsMi42LTkuNQ0KCQkJCWMyLjQtNy41LDUuNC0xNC42LDktMjEuNGMwLjQsMC4xLDAuOSwwLjEsMS4zLDAuMmgwYzEsMCwyLTAuMywyLjktMC43YzIuMSwyLjQsNC4zLDQuOCw2LjYsNy4xYzcuNiw3LjQsMTUuOCwxMy42LDI0LjMsMTguNg0KCQkJCUMxOTYsMjExLDE5NC4yLDIxOCwxOTEuNSwyMjQuNnogTTE3NC40LDE4My40Yy0yLjMtMi4yLTQuNC00LjUtNi41LTYuOGMwLjktMS4xLDEuNC0yLjQsMS40LTMuOWMwLTEuNi0wLjYtMy0xLjYtNC4xDQoJCQkJYzUuMS03LjgsMTAuOS0xNSwxNy41LTIxLjRjOCwxMy4xLDEyLjUsMjguNiwxMi41LDQ1YzAsMy0wLjIsNi0wLjUsOC45QzE4OS4zLDE5Ni4yLDE4MS42LDE5MC40LDE3NC40LDE4My40eiIvPg0KCQk8L2c+DQoJPC9nPg0KCTxnPg0KCQk8Zz4NCgkJCTxwYXRoIGQ9Ik0xNjguMSwxLjNjLTAuOC0wLjktMi0xLjMtMy4xLTEuM0g0LjRDMiwwLDAsMiwwLDQuNHYyOTEuM2MwLDIuNCwyLDQuNCw0LjQsNC40aDIxMi40YzIuNCwwLDQuNC0yLDQuNC00LjRWNTcuOA0KCQkJCWMwLTEuMS0wLjQtMi4yLTEuMi0zTDE2OC4xLDEuM3ogTTE2OS4zLDE1LjJsMzkuNSw0MC43aC0zOS41VjE1LjJ6IE04LjcsOC43aDE1MS44djQ5LjZjMCwwLjMsMC4xLDAuNiwwLjIsMC45DQoJCQkJYy0wLjEsMC4zLTAuMiwwLjYtMC4yLDAuOWMwLDIuNCwyLDQuNCw0LjQsNC40aDQ3LjV2MjI2LjdIOC43VjguN3oiLz4NCgkJPC9nPg0KCTwvZz4NCgk8cmVjdCB4PSIwIiB5PSI0OC40IiBjbGFzcz0ic3QyIiB3aWR0aD0iMjIxLjciIGhlaWdodD0iNzYiLz4NCgk8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDc3LjgyNTIgODIuOTEyOCkiIGNsYXNzPSJzdDkgc3QyMSBzdDIyIj5mdHA8L3RleHQ+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SCP" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "SCP Sink" description: Send file to an FTP Server through Secure Copy Protocol required: - serverName - serverPort type: object properties: serverName: title: Hostname description: The hostname of the FTP server type: string serverPort: title: Port description: The port of the FTP server type: string username: title: Username description: Username for accessing FTP Server type: string password: title: Password description: Password for accessing FTP Server type: string format: password x-descriptors: - urn:camel:group:credentials privateKeyFile: title: Private Key File description: Set the private key file so that the SFTP endpoint can do private key verification. type: string privateKeyPassphrase: title: Private Key Passphrase description: Set the private key file passphrase so that the SFTP endpoint can do private key verification. type: string strictHostKeyChecking: title: Strict Host Checking description: Sets whether to use strict host key checking. type: string default: no useUserKnownHostsFile: title: Use User Known Hosts File description: If knownHostFile has not been explicit configured then use the host file from System.getProperty(user.home)/.ssh/known_hosts. type: boolean default: true dependencies: - "camel:core" - "camel:jsch" - "camel:kamelet" template: from: uri: kamelet:source steps: - to: uri: "scp:{{serverName}}:{{serverPort}}" parameters: username: "{{?username}}" password: "{{?password}}" privateKeyFile: "{{?privateKeyFile}}" privateKeyPassphrase: "{{?privateKeyPassphrase}}" strictHostKeyChecking: "{{?strictHostKeyChecking}}" useUserKnownHostsFile: "{{?useUserKnownHostsFile}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: set-body-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" spec: definition: title: "Set Body Action" description: Sets a simple language parsed value as the new message body in transit. required: - value properties: value: title: Value description: The value to set as new body type: string type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - setBody: simple: "{{value}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: set-kafka-key-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Set Kafka Key Action" description: Set Kafka Key based on a specific incoming header value from the message body. required: - headerName properties: headerName: title: Field description: The name of the header to set as Kafka Key type: string forceHeaderDeletion: title: Force Header Deletion description: If true, it will remove the header with name headerName from the Exchange after setting it as Kafka Key type: boolean default: false type: object dependencies: - "camel:kamelet" - "camel:core" template: from: uri: kamelet:source steps: - setHeader: name: kafka.KEY simple: "${header.{{headerName}}}" - choice: precondition: true when: - simple: '${properties:forceHeaderDeletion:true}' steps: - removeHeader: name: "{{headerName}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: sftp-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMjEuMSAzMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIyMS4xIDMwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzgzMkVBQjt9DQoJLnN0MXtmaWxsOiNCQUJBQkE7fQ0KCS5zdDJ7ZmlsbDpub25lO30NCgkuc3Qze2ZpbGw6IzhEQzYzRjt9DQoJLnN0NHtmaWxsOiMwRjlCRDc7fQ0KCS5zdDV7ZmlsbDojRkZGRkZGO30NCgkuc3Q2e2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQoJLnN0N3tmaWxsOiMxREExRjI7fQ0KCS5zdDh7ZmlsbDojM0Q1QTk4O30NCgkuc3Q5e2ZpbGw6IzIzMUYyMDt9DQoJLnN0MTB7ZmlsbDojMDA3QkI1O30NCgkuc3QxMXtmaWxsOiNEQzRFNDE7fQ0KCS5zdDEye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzE4MTYxNjt9DQoJLnN0MTN7ZmlsbDojMTgxNjE2O30NCgkuc3QxNHtmaWxsOiNGMkYyRjI7fQ0KCS5zdDE1e2ZpbGw6I0UzRTNFMzt9DQoJLnN0MTZ7ZmlsbDojRDU0QjNEO30NCgkuc3QxN3tmaWxsOiNENzJCMjc7fQ0KCS5zdDE4e29wYWNpdHk6MC41NjtmaWxsOnVybCgjU1ZHSURfMV8pO30NCgkuc3QxOXtmaWxsOiM5MkQ0MDA7fQ0KCS5zdDIwe2ZpbGw6IzAwQjlFNDt9DQoJLnN0MjF7Zm9udC1mYW1pbHk6J09wZW5TYW5zLUJvbGQnO30NCgkuc3QyMntmb250LXNpemU6NDUuNDExNXB4O30NCgkuc3QyM3tmaWxsOiMyQjM5OTA7fQ0KCS5zdDI0e2ZpbGw6IzNGOUMzNTt9DQoJLnN0MjV7ZmlsbDojOEZDRUQ4O30NCgkuc3QyNntmaWxsOiNEMjFGMjE7fQ0KCS5zdDI3e2ZpbGw6I0Q2RDZENjt9DQoJLnN0Mjh7ZmlsbDojRjFGMUYxO30NCgkuc3QyOXtmaWxsOiNDMzIyNjU7fQ0KCS5zdDMwe2ZpbGw6IzhDMzEyMzt9DQoJLnN0MzF7ZmlsbDojRTA1MjQzO30NCgkuc3QzMntmaWxsOiM1RTFGMTg7fQ0KCS5zdDMze2ZpbGw6I0YyQjBBOTt9DQoJLnN0MzR7ZmlsbDojQ0FDQ0NFO30NCgkuc3QzNXtmaWxsOiNBMUFGREI7fQ0KCS5zdDM2e2ZpbGw6IzAwMjA4Nzt9DQo8L3N0eWxlPg0KPGc+DQoJPGc+DQoJCTxjaXJjbGUgY2xhc3M9InN0MjAiIGN4PSIxMTEuNiIgY3k9IjE5MS43IiByPSI4OC42Ii8+DQoJCTxnPg0KCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExMC42LDk5LjljLTUwLjgsMC05Mi4yLDQxLjQtOTIuMiw5Mi4yYzAsNTAuOSw0MS40LDkyLjIsOTIuMiw5Mi4yaDBjNTAuOCwwLDkyLjItNDEuNCw5Mi4yLTkyLjINCgkJCQlDMjAyLjgsMTQxLjMsMTYxLjQsOTkuOSwxMTAuNiw5OS45eiBNMTgzLjIsMTQzLjljLTcsNi44LTEzLjMsMTQuNC0xOC42LDIyLjdjLTAuNS0wLjEtMC45LTAuMi0xLjQtMC4yYy0xLDAtMS45LDAuMy0yLjgsMC43DQoJCQkJYy00LjYtNi41LTguNC0xMy4xLTExLjMtMTkuNmMxLjctMS4xLDIuOC0zLDIuOC01LjJjMC0wLjYtMC4xLTEuMS0wLjMtMS43YzYuMy00LjQsMTEuNy05LjMsMTYtMTQuMw0KCQkJCUMxNzMuNiwxMzEuNCwxNzguOCwxMzcuMywxODMuMiwxNDMuOXogTTY4LjgsMTY5LjFjNC44LTAuNSw5LjYtMS4yLDE0LjUtMmMxLDIsMy4xLDMuNCw1LjUsMy40aDBjMC44LDAsMS43LTAuMiwyLjQtMC41DQoJCQkJYzYuMiw4LjksMTMuNSwxNy4xLDIxLjgsMjQuNGM4LjcsNy42LDE4LjIsMTQsMjguMSwxOS4xYy0wLjEsMC41LTAuMiwxLTAuMiwxLjVjMCwyLjQsMS40LDQuNSwzLjQsNS41DQoJCQkJYy0xLjEsNy4yLTEuNiwxNC41LTEuNSwyMS42Yy0xLjIsMC4zLTIuMywwLjgtMy4yLDEuNmMtOS4zLTYuNi0xOS40LTEyLjItMzAuMS0xNi41Yy0xMi45LTUuMi0yNi4yLTguNC0zOS41LTkuNw0KCQkJCWMtMC44LTMuNS0zLjktNi4xLTcuNi02LjJjLTEtNi4zLTEuNS0xMi43LTEuNS0xOS4yYzAtNS40LDAuNC0xMC43LDEuMS0xNS45QzY1LjUsMTc1LjcsNjguMywxNzIuOCw2OC44LDE2OS4xeiBNNjQuNywxNjEuMg0KCQkJCWMyLjMtOC43LDUuNS0xNyw5LjctMjQuN2MyLjYsNy45LDYsMTUuNywxMC4yLDIzLjFjLTEuMSwxLTEuOCwyLjMtMiwzLjhjLTQuOCwwLjgtOS41LDEuNS0xNC4zLDEuOQ0KCQkJCUM2Ny43LDE2My42LDY2LjQsMTYyLjEsNjQuNywxNjEuMnogTTE0Ni41LDIwOC45Yy0xLjgsMC4yLTMuNCwxLjEtNC40LDIuNGMtOS43LTUtMTktMTEuMi0yNy42LTE4LjdjLTguMi03LjItMTUuMy0xNS4zLTIxLjQtMjQNCgkJCQljMS0xLDEuNi0yLjQsMS43LTMuOWMxNy40LTQuMSwzMy40LTEwLjMsNDYuNy0xNy44YzEuMSwxLDIuNSwxLjYsNC4xLDEuNmgwYzAuNCwwLDAuOCwwLDEuMi0wLjFjMi45LDYuOCw2LjgsMTMuNiwxMS42LDIwLjMNCgkJCQljLTAuOSwxLjEtMS41LDIuNS0xLjUsNGMwLDEuNiwwLjYsMy4xLDEuNyw0LjJjLTMuNyw3LTYuOSwxNC40LTkuMywyMi4yQzE0OC4yLDIwMi4zLDE0Ny4zLDIwNS42LDE0Ni41LDIwOC45eiBNMTQ0LjQsMTExLjcNCgkJCQljNy40LDMuMSwxNC4yLDcuMiwyMC40LDEyLjFjLTQuMSw0LjctOS4yLDkuMy0xNS4zLDEzLjVjLTEuMS0wLjgtMi40LTEuNC0zLjgtMS40Yy0wLjIsMC0wLjMsMC0wLjUsMC4xDQoJCQkJQzE0Mi45LDEyNy4zLDE0Mi41LDExOC45LDE0NC40LDExMS43eiBNMTEwLjYsMTA0LjljMTEuMSwwLDIxLjcsMi4xLDMxLjUsNS45Yy0yLjEsNy43LTEuNywxNi42LDAuNywyNS45Yy0yLDEtMy40LDMuMS0zLjQsNS41DQoJCQkJYzAsMC41LDAuMSwwLjksMC4yLDEuNGMtMTMsNy40LTI4LjcsMTMuNS00NS42LDE3LjVjLTEuMS0xLjgtMy4xLTMuMS01LjMtMy4xYy0wLjcsMC0xLjQsMC4xLTIsMC40Yy00LjUtNy45LTguMS0xNi4zLTEwLjctMjQuOA0KCQkJCWM2LjQtMTEsMTQuNi0yMC41LDI0LjQtMjguMUMxMDMuOCwxMDUuMSwxMDcuMSwxMDQuOSwxMTAuNiwxMDQuOXogTTkzLjIsMTA2LjZjLTcuMSw2LjMtMTMuNCwxMy43LTE4LjUsMjINCgkJCQljLTEuMi00LjktMi4xLTkuOC0yLjctMTQuN0M3OC42LDExMC42LDg1LjgsMTA4LjEsOTMuMiwxMDYuNnogTTY5LjYsMTE1LjFjMC43LDUuNSwxLjgsMTEsMy4zLDE2LjVjLTUuMSw4LjgtOS4xLDE4LjQtMTEuOCwyOC41DQoJCQkJYy0wLjEsMC0wLjMsMC0wLjQsMGMtMy44LDAtNi45LDIuNi03LjgsNi4yYy04LjgsMC4xLTE3LjItMC41LTI1LjEtMS44QzM1LDE0My4yLDUwLjEsMTI1LjUsNjkuNiwxMTUuMXogTTIzLjMsMTkyLjENCgkJCQljMC04LjMsMS4yLTE2LjQsMy40LTI0YzcuNiwxLjMsMTUuNywyLDI0LjEsMmMwLjcsMCwxLjMsMCwyLTAuMWMwLjYsMi43LDIuNiw0LjksNS4yLDUuOGMtMC43LDUuMy0xLjEsMTAuOC0xLjEsMTYuMw0KCQkJCWMwLDYuOCwwLjUsMTMuNSwxLjYsMjBjLTIsMC45LTMuNiwyLjctNC4zLDQuOGMtOC45LDAuMS0xNy43LDEuMS0yNi40LDNDMjUsMjExLjIsMjMuMywyMDEuOCwyMy4zLDE5Mi4xeiBNMjkuMiwyMjMuNA0KCQkJCWM4LjItMS43LDE2LjUtMi42LDI0LjktMi44YzAuNiwzLjksMy45LDYuOCw4LDYuOGgwYzAsMCwwLjEsMCwwLjEsMGM1LjgsMTkuOCwxNi42LDM3LjIsMzEuMSw1MC4xDQoJCQkJQzYzLjgsMjcxLjYsMzkuOCwyNTAuOSwyOS4yLDIyMy40eiBNMTEwLjYsMjc5LjNMMTEwLjYsMjc5LjNjLTMuNCwwLTYuOC0wLjItMTAuMi0wLjZDODQsMjY2LDcyLDI0Ny43LDY1LjcsMjI2LjYNCgkJCQljMi0xLjEsMy42LTIuOSw0LjEtNS4yYzEyLjksMS4zLDI1LjcsNC40LDM4LjIsOS40YzEwLjQsNC4yLDIwLjIsOS42LDI5LjIsMTZjLTAuNSwxLTAuNywyLjEtMC43LDMuM2MwLDQuMiwzLjMsNy43LDcuNSw4DQoJCQkJYzAuNiw0LjUsMS41LDksMi43LDEzLjRDMTM1LjYsMjc2LjUsMTIzLjQsMjc5LjMsMTEwLjYsMjc5LjN6IE0xNTAsMjY5LjljLTEtNC4xLTEuOC04LjItMi40LTEyLjNjMC42LTAuMywxLjItMC42LDEuOC0xDQoJCQkJYzMuMSwyLjgsNiw1LjcsOC43LDguN0MxNTUuNSwyNjYuOSwxNTIuOCwyNjguNCwxNTAsMjY5Ljl6IE0xNjEuMywyNjNjLTMtMy4zLTYuMS02LjQtOS41LTkuNGMwLjUtMS4xLDAuOS0yLjMsMC45LTMuNg0KCQkJCWMwLTMuOC0yLjctNy02LjItNy44Yy0wLjEtNywwLjQtMTQsMS41LTIxYzEuOC0wLjIsMy4zLTEuMiw0LjMtMi42YzEyLjQsNC45LDI1LjMsNy44LDM4LjMsOC41QzE4NC4xLDI0MS41LDE3NCwyNTMuOSwxNjEuMywyNjMNCgkJCQl6IE0xOTEuNSwyMjQuNmMtMTMtMC42LTI1LjktMy40LTM4LjMtOC4zYzAuMS0wLjQsMC4xLTAuOCwwLjEtMS4yYzAtMi4zLTEuMy00LjMtMy4xLTUuNGMwLjgtMy4yLDEuNi02LjQsMi42LTkuNQ0KCQkJCWMyLjQtNy41LDUuNC0xNC42LDktMjEuNGMwLjQsMC4xLDAuOSwwLjEsMS4zLDAuMmgwYzEsMCwyLTAuMywyLjktMC43YzIuMSwyLjQsNC4zLDQuOCw2LjYsNy4xYzcuNiw3LjQsMTUuOCwxMy42LDI0LjMsMTguNg0KCQkJCUMxOTYsMjExLDE5NC4yLDIxOCwxOTEuNSwyMjQuNnogTTE3NC40LDE4My40Yy0yLjMtMi4yLTQuNC00LjUtNi41LTYuOGMwLjktMS4xLDEuNC0yLjQsMS40LTMuOWMwLTEuNi0wLjYtMy0xLjYtNC4xDQoJCQkJYzUuMS03LjgsMTAuOS0xNSwxNy41LTIxLjRjOCwxMy4xLDEyLjUsMjguNiwxMi41LDQ1YzAsMy0wLjIsNi0wLjUsOC45QzE4OS4zLDE5Ni4yLDE4MS42LDE5MC40LDE3NC40LDE4My40eiIvPg0KCQk8L2c+DQoJPC9nPg0KCTxnPg0KCQk8Zz4NCgkJCTxwYXRoIGQ9Ik0xNjguMSwxLjNjLTAuOC0wLjktMi0xLjMtMy4xLTEuM0g0LjRDMiwwLDAsMiwwLDQuNHYyOTEuM2MwLDIuNCwyLDQuNCw0LjQsNC40aDIxMi40YzIuNCwwLDQuNC0yLDQuNC00LjRWNTcuOA0KCQkJCWMwLTEuMS0wLjQtMi4yLTEuMi0zTDE2OC4xLDEuM3ogTTE2OS4zLDE1LjJsMzkuNSw0MC43aC0zOS41VjE1LjJ6IE04LjcsOC43aDE1MS44djQ5LjZjMCwwLjMsMC4xLDAuNiwwLjIsMC45DQoJCQkJYy0wLjEsMC4zLTAuMiwwLjYtMC4yLDAuOWMwLDIuNCwyLDQuNCw0LjQsNC40aDQ3LjV2MjI2LjdIOC43VjguN3oiLz4NCgkJPC9nPg0KCTwvZz4NCgk8cmVjdCB4PSIwIiB5PSI0OC40IiBjbGFzcz0ic3QyIiB3aWR0aD0iMjIxLjciIGhlaWdodD0iNzYiLz4NCgk8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDc3LjgyNTIgODIuOTEyOCkiIGNsYXNzPSJzdDkgc3QyMSBzdDIyIj5mdHA8L3RleHQ+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "FTP" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "SFTP Sink" description: Send data to an SFTP Server. required: - connectionHost - connectionPort - directoryName type: object properties: connectionHost: title: Connection Host description: The hostname of the FTP server. type: string connectionPort: title: Connection Port description: The port of the FTP server. type: string default: 22 username: title: Username description: The username to access the FTP server. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the FTP server. type: string format: password x-descriptors: - urn:camel:group:credentials directoryName: title: Directory Name description: The starting directory. type: string passiveMode: title: Passive Mode description: Specifies to use passive mode connection. type: boolean default: false fileExist: title: File Existence description: How to behave in case of file already existent. type: string default: Override enum: ["Override", "Append", "Fail", "Ignore"] binary: title: Binary description: Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). type: boolean default: false privateKeyFile: title: Private Key File description: Set the private key file so that the SFTP endpoint can do private key verification. type: string privateKeyPassphrase: title: Private Key Passphrase description: Set the private key file passphrase so that the SFTP endpoint can do private key verification. type: string privateKeyUri: title: Private Key URI description: Set the private key file (loaded from classpath by default) so that the SFTP endpoint can do private key verification. type: string pattern: "^(http|https|file|classpath|ref|bean)://.*" strictHostKeyChecking: title: Strict Host Checking description: Sets whether to use strict host key checking. type: string default: no useUserKnownHostsFile: title: Use User Known Hosts File description: If knownHostFile has not been explicit configured then use the host file from System.getProperty(user.home)/.ssh/known_hosts. type: boolean default: true autoCreate: title: Autocreate Missing Directories description: Automatically create the directory the files should be written to. type: boolean default: true dependencies: - "camel:ftp" - "camel:core" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[file]}" steps: - setHeader: name: CamelFileName simple: "${header[file]}" - simple: "${header[ce-file]}" steps: - setHeader: name: CamelFileName simple: "${header[ce-file]}" - to: uri: "sftp:{{connectionHost}}:{{connectionPort}}/{{directoryName}}" parameters: username: "{{?username}}" password: "{{?password}}" privateKeyFile: "{{?privateKeyFile}}" privateKeyPassphrase: "{{?privateKeyPassphrase}}" privateKeyUri: "{{?privateKeyUri}}" strictHostKeyChecking: "{{?strictHostKeyChecking}}" useUserKnownHostsFile: "{{?useUserKnownHostsFile}}" passiveMode: "{{passiveMode}}" fileExist: "{{fileExist}}" binary: "{{binary}}" autoCreate: "{{autoCreate}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: sftp-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxOS4xLjAsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjxzdmcgdmVyc2lvbj0iMS4xIiBpZD0iTGF5ZXJfMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAyMjEuMSAzMDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDIyMS4xIDMwMDsiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCgkuc3Qwe2ZpbGw6IzgzMkVBQjt9DQoJLnN0MXtmaWxsOiNCQUJBQkE7fQ0KCS5zdDJ7ZmlsbDpub25lO30NCgkuc3Qze2ZpbGw6IzhEQzYzRjt9DQoJLnN0NHtmaWxsOiMwRjlCRDc7fQ0KCS5zdDV7ZmlsbDojRkZGRkZGO30NCgkuc3Q2e2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0ZGRkZGRjt9DQoJLnN0N3tmaWxsOiMxREExRjI7fQ0KCS5zdDh7ZmlsbDojM0Q1QTk4O30NCgkuc3Q5e2ZpbGw6IzIzMUYyMDt9DQoJLnN0MTB7ZmlsbDojMDA3QkI1O30NCgkuc3QxMXtmaWxsOiNEQzRFNDE7fQ0KCS5zdDEye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6IzE4MTYxNjt9DQoJLnN0MTN7ZmlsbDojMTgxNjE2O30NCgkuc3QxNHtmaWxsOiNGMkYyRjI7fQ0KCS5zdDE1e2ZpbGw6I0UzRTNFMzt9DQoJLnN0MTZ7ZmlsbDojRDU0QjNEO30NCgkuc3QxN3tmaWxsOiNENzJCMjc7fQ0KCS5zdDE4e29wYWNpdHk6MC41NjtmaWxsOnVybCgjU1ZHSURfMV8pO30NCgkuc3QxOXtmaWxsOiM5MkQ0MDA7fQ0KCS5zdDIwe2ZpbGw6IzAwQjlFNDt9DQoJLnN0MjF7Zm9udC1mYW1pbHk6J09wZW5TYW5zLUJvbGQnO30NCgkuc3QyMntmb250LXNpemU6NDUuNDExNXB4O30NCgkuc3QyM3tmaWxsOiMyQjM5OTA7fQ0KCS5zdDI0e2ZpbGw6IzNGOUMzNTt9DQoJLnN0MjV7ZmlsbDojOEZDRUQ4O30NCgkuc3QyNntmaWxsOiNEMjFGMjE7fQ0KCS5zdDI3e2ZpbGw6I0Q2RDZENjt9DQoJLnN0Mjh7ZmlsbDojRjFGMUYxO30NCgkuc3QyOXtmaWxsOiNDMzIyNjU7fQ0KCS5zdDMwe2ZpbGw6IzhDMzEyMzt9DQoJLnN0MzF7ZmlsbDojRTA1MjQzO30NCgkuc3QzMntmaWxsOiM1RTFGMTg7fQ0KCS5zdDMze2ZpbGw6I0YyQjBBOTt9DQoJLnN0MzR7ZmlsbDojQ0FDQ0NFO30NCgkuc3QzNXtmaWxsOiNBMUFGREI7fQ0KCS5zdDM2e2ZpbGw6IzAwMjA4Nzt9DQo8L3N0eWxlPg0KPGc+DQoJPGc+DQoJCTxjaXJjbGUgY2xhc3M9InN0MjAiIGN4PSIxMTEuNiIgY3k9IjE5MS43IiByPSI4OC42Ii8+DQoJCTxnPg0KCQkJPHBhdGggY2xhc3M9InN0NSIgZD0iTTExMC42LDk5LjljLTUwLjgsMC05Mi4yLDQxLjQtOTIuMiw5Mi4yYzAsNTAuOSw0MS40LDkyLjIsOTIuMiw5Mi4yaDBjNTAuOCwwLDkyLjItNDEuNCw5Mi4yLTkyLjINCgkJCQlDMjAyLjgsMTQxLjMsMTYxLjQsOTkuOSwxMTAuNiw5OS45eiBNMTgzLjIsMTQzLjljLTcsNi44LTEzLjMsMTQuNC0xOC42LDIyLjdjLTAuNS0wLjEtMC45LTAuMi0xLjQtMC4yYy0xLDAtMS45LDAuMy0yLjgsMC43DQoJCQkJYy00LjYtNi41LTguNC0xMy4xLTExLjMtMTkuNmMxLjctMS4xLDIuOC0zLDIuOC01LjJjMC0wLjYtMC4xLTEuMS0wLjMtMS43YzYuMy00LjQsMTEuNy05LjMsMTYtMTQuMw0KCQkJCUMxNzMuNiwxMzEuNCwxNzguOCwxMzcuMywxODMuMiwxNDMuOXogTTY4LjgsMTY5LjFjNC44LTAuNSw5LjYtMS4yLDE0LjUtMmMxLDIsMy4xLDMuNCw1LjUsMy40aDBjMC44LDAsMS43LTAuMiwyLjQtMC41DQoJCQkJYzYuMiw4LjksMTMuNSwxNy4xLDIxLjgsMjQuNGM4LjcsNy42LDE4LjIsMTQsMjguMSwxOS4xYy0wLjEsMC41LTAuMiwxLTAuMiwxLjVjMCwyLjQsMS40LDQuNSwzLjQsNS41DQoJCQkJYy0xLjEsNy4yLTEuNiwxNC41LTEuNSwyMS42Yy0xLjIsMC4zLTIuMywwLjgtMy4yLDEuNmMtOS4zLTYuNi0xOS40LTEyLjItMzAuMS0xNi41Yy0xMi45LTUuMi0yNi4yLTguNC0zOS41LTkuNw0KCQkJCWMtMC44LTMuNS0zLjktNi4xLTcuNi02LjJjLTEtNi4zLTEuNS0xMi43LTEuNS0xOS4yYzAtNS40LDAuNC0xMC43LDEuMS0xNS45QzY1LjUsMTc1LjcsNjguMywxNzIuOCw2OC44LDE2OS4xeiBNNjQuNywxNjEuMg0KCQkJCWMyLjMtOC43LDUuNS0xNyw5LjctMjQuN2MyLjYsNy45LDYsMTUuNywxMC4yLDIzLjFjLTEuMSwxLTEuOCwyLjMtMiwzLjhjLTQuOCwwLjgtOS41LDEuNS0xNC4zLDEuOQ0KCQkJCUM2Ny43LDE2My42LDY2LjQsMTYyLjEsNjQuNywxNjEuMnogTTE0Ni41LDIwOC45Yy0xLjgsMC4yLTMuNCwxLjEtNC40LDIuNGMtOS43LTUtMTktMTEuMi0yNy42LTE4LjdjLTguMi03LjItMTUuMy0xNS4zLTIxLjQtMjQNCgkJCQljMS0xLDEuNi0yLjQsMS43LTMuOWMxNy40LTQuMSwzMy40LTEwLjMsNDYuNy0xNy44YzEuMSwxLDIuNSwxLjYsNC4xLDEuNmgwYzAuNCwwLDAuOCwwLDEuMi0wLjFjMi45LDYuOCw2LjgsMTMuNiwxMS42LDIwLjMNCgkJCQljLTAuOSwxLjEtMS41LDIuNS0xLjUsNGMwLDEuNiwwLjYsMy4xLDEuNyw0LjJjLTMuNyw3LTYuOSwxNC40LTkuMywyMi4yQzE0OC4yLDIwMi4zLDE0Ny4zLDIwNS42LDE0Ni41LDIwOC45eiBNMTQ0LjQsMTExLjcNCgkJCQljNy40LDMuMSwxNC4yLDcuMiwyMC40LDEyLjFjLTQuMSw0LjctOS4yLDkuMy0xNS4zLDEzLjVjLTEuMS0wLjgtMi40LTEuNC0zLjgtMS40Yy0wLjIsMC0wLjMsMC0wLjUsMC4xDQoJCQkJQzE0Mi45LDEyNy4zLDE0Mi41LDExOC45LDE0NC40LDExMS43eiBNMTEwLjYsMTA0LjljMTEuMSwwLDIxLjcsMi4xLDMxLjUsNS45Yy0yLjEsNy43LTEuNywxNi42LDAuNywyNS45Yy0yLDEtMy40LDMuMS0zLjQsNS41DQoJCQkJYzAsMC41LDAuMSwwLjksMC4yLDEuNGMtMTMsNy40LTI4LjcsMTMuNS00NS42LDE3LjVjLTEuMS0xLjgtMy4xLTMuMS01LjMtMy4xYy0wLjcsMC0xLjQsMC4xLTIsMC40Yy00LjUtNy45LTguMS0xNi4zLTEwLjctMjQuOA0KCQkJCWM2LjQtMTEsMTQuNi0yMC41LDI0LjQtMjguMUMxMDMuOCwxMDUuMSwxMDcuMSwxMDQuOSwxMTAuNiwxMDQuOXogTTkzLjIsMTA2LjZjLTcuMSw2LjMtMTMuNCwxMy43LTE4LjUsMjINCgkJCQljLTEuMi00LjktMi4xLTkuOC0yLjctMTQuN0M3OC42LDExMC42LDg1LjgsMTA4LjEsOTMuMiwxMDYuNnogTTY5LjYsMTE1LjFjMC43LDUuNSwxLjgsMTEsMy4zLDE2LjVjLTUuMSw4LjgtOS4xLDE4LjQtMTEuOCwyOC41DQoJCQkJYy0wLjEsMC0wLjMsMC0wLjQsMGMtMy44LDAtNi45LDIuNi03LjgsNi4yYy04LjgsMC4xLTE3LjItMC41LTI1LjEtMS44QzM1LDE0My4yLDUwLjEsMTI1LjUsNjkuNiwxMTUuMXogTTIzLjMsMTkyLjENCgkJCQljMC04LjMsMS4yLTE2LjQsMy40LTI0YzcuNiwxLjMsMTUuNywyLDI0LjEsMmMwLjcsMCwxLjMsMCwyLTAuMWMwLjYsMi43LDIuNiw0LjksNS4yLDUuOGMtMC43LDUuMy0xLjEsMTAuOC0xLjEsMTYuMw0KCQkJCWMwLDYuOCwwLjUsMTMuNSwxLjYsMjBjLTIsMC45LTMuNiwyLjctNC4zLDQuOGMtOC45LDAuMS0xNy43LDEuMS0yNi40LDNDMjUsMjExLjIsMjMuMywyMDEuOCwyMy4zLDE5Mi4xeiBNMjkuMiwyMjMuNA0KCQkJCWM4LjItMS43LDE2LjUtMi42LDI0LjktMi44YzAuNiwzLjksMy45LDYuOCw4LDYuOGgwYzAsMCwwLjEsMCwwLjEsMGM1LjgsMTkuOCwxNi42LDM3LjIsMzEuMSw1MC4xDQoJCQkJQzYzLjgsMjcxLjYsMzkuOCwyNTAuOSwyOS4yLDIyMy40eiBNMTEwLjYsMjc5LjNMMTEwLjYsMjc5LjNjLTMuNCwwLTYuOC0wLjItMTAuMi0wLjZDODQsMjY2LDcyLDI0Ny43LDY1LjcsMjI2LjYNCgkJCQljMi0xLjEsMy42LTIuOSw0LjEtNS4yYzEyLjksMS4zLDI1LjcsNC40LDM4LjIsOS40YzEwLjQsNC4yLDIwLjIsOS42LDI5LjIsMTZjLTAuNSwxLTAuNywyLjEtMC43LDMuM2MwLDQuMiwzLjMsNy43LDcuNSw4DQoJCQkJYzAuNiw0LjUsMS41LDksMi43LDEzLjRDMTM1LjYsMjc2LjUsMTIzLjQsMjc5LjMsMTEwLjYsMjc5LjN6IE0xNTAsMjY5LjljLTEtNC4xLTEuOC04LjItMi40LTEyLjNjMC42LTAuMywxLjItMC42LDEuOC0xDQoJCQkJYzMuMSwyLjgsNiw1LjcsOC43LDguN0MxNTUuNSwyNjYuOSwxNTIuOCwyNjguNCwxNTAsMjY5Ljl6IE0xNjEuMywyNjNjLTMtMy4zLTYuMS02LjQtOS41LTkuNGMwLjUtMS4xLDAuOS0yLjMsMC45LTMuNg0KCQkJCWMwLTMuOC0yLjctNy02LjItNy44Yy0wLjEtNywwLjQtMTQsMS41LTIxYzEuOC0wLjIsMy4zLTEuMiw0LjMtMi42YzEyLjQsNC45LDI1LjMsNy44LDM4LjMsOC41QzE4NC4xLDI0MS41LDE3NCwyNTMuOSwxNjEuMywyNjMNCgkJCQl6IE0xOTEuNSwyMjQuNmMtMTMtMC42LTI1LjktMy40LTM4LjMtOC4zYzAuMS0wLjQsMC4xLTAuOCwwLjEtMS4yYzAtMi4zLTEuMy00LjMtMy4xLTUuNGMwLjgtMy4yLDEuNi02LjQsMi42LTkuNQ0KCQkJCWMyLjQtNy41LDUuNC0xNC42LDktMjEuNGMwLjQsMC4xLDAuOSwwLjEsMS4zLDAuMmgwYzEsMCwyLTAuMywyLjktMC43YzIuMSwyLjQsNC4zLDQuOCw2LjYsNy4xYzcuNiw3LjQsMTUuOCwxMy42LDI0LjMsMTguNg0KCQkJCUMxOTYsMjExLDE5NC4yLDIxOCwxOTEuNSwyMjQuNnogTTE3NC40LDE4My40Yy0yLjMtMi4yLTQuNC00LjUtNi41LTYuOGMwLjktMS4xLDEuNC0yLjQsMS40LTMuOWMwLTEuNi0wLjYtMy0xLjYtNC4xDQoJCQkJYzUuMS03LjgsMTAuOS0xNSwxNy41LTIxLjRjOCwxMy4xLDEyLjUsMjguNiwxMi41LDQ1YzAsMy0wLjIsNi0wLjUsOC45QzE4OS4zLDE5Ni4yLDE4MS42LDE5MC40LDE3NC40LDE4My40eiIvPg0KCQk8L2c+DQoJPC9nPg0KCTxnPg0KCQk8Zz4NCgkJCTxwYXRoIGQ9Ik0xNjguMSwxLjNjLTAuOC0wLjktMi0xLjMtMy4xLTEuM0g0LjRDMiwwLDAsMiwwLDQuNHYyOTEuM2MwLDIuNCwyLDQuNCw0LjQsNC40aDIxMi40YzIuNCwwLDQuNC0yLDQuNC00LjRWNTcuOA0KCQkJCWMwLTEuMS0wLjQtMi4yLTEuMi0zTDE2OC4xLDEuM3ogTTE2OS4zLDE1LjJsMzkuNSw0MC43aC0zOS41VjE1LjJ6IE04LjcsOC43aDE1MS44djQ5LjZjMCwwLjMsMC4xLDAuNiwwLjIsMC45DQoJCQkJYy0wLjEsMC4zLTAuMiwwLjYtMC4yLDAuOWMwLDIuNCwyLDQuNCw0LjQsNC40aDQ3LjV2MjI2LjdIOC43VjguN3oiLz4NCgkJPC9nPg0KCTwvZz4NCgk8cmVjdCB4PSIwIiB5PSI0OC40IiBjbGFzcz0ic3QyIiB3aWR0aD0iMjIxLjciIGhlaWdodD0iNzYiLz4NCgk8dGV4dCB0cmFuc2Zvcm09Im1hdHJpeCgxIDAgMCAxIDc3LjgyNTIgODIuOTEyOCkiIGNsYXNzPSJzdDkgc3QyMSBzdDIyIj5mdHA8L3RleHQ+DQo8L2c+DQo8L3N2Zz4NCg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "FTP" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "SFTP Source" description: Receive data from an SFTP server. required: - connectionHost - connectionPort - directoryName type: object properties: connectionHost: title: Connection Host description: The hostname of the SFTP server. type: string connectionPort: title: Connection Port description: The port of the FTP server. type: string default: 22 username: title: Username description: The username to access the SFTP server. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the SFTP server. type: string format: password x-descriptors: - urn:camel:group:credentials directoryName: title: Directory Name description: The starting directory. type: string passiveMode: title: Passive Mode description: Sets the passive mode connection. type: boolean default: false recursive: title: Recursive description: If a directory, look for files in all sub-directories as well. type: boolean default: false idempotent: title: Idempotency description: Skip already-processed files. type: boolean default: true ignoreFileNotFoundOrPermissionError: title: Ignore File Not Found Or Permission Error description: Whether to ignore when (trying to list files in directories or when downloading a file), which does not exist or due to permission error. By default when a directory or file does not exists or insufficient permission, then an exception is thrown. Setting this option to true allows to ignore that instead. type: boolean default: false binary: title: Binary description: Specifies the file transfer mode, BINARY or ASCII. Default is ASCII (false). type: boolean default: false privateKeyFile: title: Private Key File description: Set the private key file so that the SFTP endpoint can do private key verification. type: string privateKeyPassphrase: title: Private Key Passphrase description: Set the private key file passphrase so that the SFTP endpoint can do private key verification. type: string privateKeyUri: title: Private Key URI description: Set the private key file (loaded from classpath by default) so that the SFTP endpoint can do private key verification. type: string pattern: "^(http|https|file|classpath|ref|bean)://.*" strictHostKeyChecking: title: Strict Host Checking description: Sets whether to use strict host key checking. type: string default: no useUserKnownHostsFile: title: Use User Known Hosts File description: If knownHostFile has not been explicit configured then use the host file from System.getProperty(user.home)/.ssh/known_hosts. type: boolean default: true autoCreate: title: Autocreate Missing Directories description: Automatically create starting directory. type: boolean default: true delete: title: Delete description: If true, the file is deleted after it is processed successfully. type: boolean default: false dependencies: - "camel:ftp" - "camel:core" - "camel:kamelet" template: from: uri: "sftp:{{connectionHost}}:{{connectionPort}}/{{directoryName}}" parameters: username: "{{?username}}" password: "{{?password}}" privateKeyFile: "{{?privateKeyFile}}" privateKeyPassphrase: "{{?privateKeyPassphrase}}" privateKeyUri: "{{?privateKeyUri}}" strictHostKeyChecking: "{{?strictHostKeyChecking}}" useUserKnownHostsFile: "{{?useUserKnownHostsFile}}" passiveMode: "{{passiveMode}}" recursive: "{{recursive}}" idempotent: "{{idempotent}}" ignoreFileNotFoundOrPermissionError: "{{ignoreFileNotFoundOrPermissionError}}" binary: "{{binary}}" autoCreate: "{{autoCreate}}" delete: "{{delete}}" steps: - setBody: simple: "${body.getBody()}" - setHeader: name: file simple: "${header[CamelFileName]}" - setHeader: name: ce-file simple: "${header[CamelFileName]}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: simple-filter-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "EIP" spec: definition: title: "Simple Filter Action" description: "Filter based on simple expression." required: - expression properties: expression: title: Simple Expression description: A simple expression to apply on the exchange to filter out some exchange type: string type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - filter: simple: "{{expression}}" steps: - stop: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: slack-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNUQzNjY7fQoJLnN0MXtmaWxsOiNGRkZGRkY7fQoJLnN0MntmaWxsOiNGRjAwMDA7fQoJLnN0M3tmaWxsOiMzRDVBOTg7fQoJLnN0NHtmaWxsOnVybCgjU1ZHSURfMV8pO30KCS5zdDV7ZmlsbDp1cmwoI1NWR0lEXzJfKTt9Cgkuc3Q2e2ZpbGw6IzU1QURFRTt9Cgkuc3Q3e2ZpbGw6IzFFOTZDODt9Cgkuc3Q4e2ZpbGw6I0E5QzlERDt9Cgkuc3Q5e2ZpbGw6I0M4REFFQTt9Cgkuc3QxMHtmaWxsOm5vbmU7fQoJLnN0MTF7ZmlsbDojNDc4N0YzO30KCS5zdDEye2ZpbGw6I0RDNDgzQzt9Cgkuc3QxM3tmaWxsOiNGRkNFNDM7fQoJLnN0MTR7ZmlsbDojMTQ5RjVDO30KCS5zdDE1e2ZpbGw6I0NFMUU1Qjt9Cgkuc3QxNntmaWxsOiM3MkM1Q0Q7fQoJLnN0MTd7ZmlsbDojREZBMjJGO30KCS5zdDE4e2ZpbGw6IzNDQjE4Nzt9Cgkuc3QxOXtmaWxsOiMyNDhDNzM7fQoJLnN0MjB7ZmlsbDojMzkyNTM4O30KCS5zdDIxe2ZpbGw6I0JCMjQyQTt9Cgkuc3QyMntmaWxsOm5vbmU7c3Ryb2tlOiMzQ0IxODc7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQoJLnN0MjN7ZmlsbDojMDA5QTU3O30KCS5zdDI0e2ZpbGw6I0ZDQ0QzNzt9Cgkuc3QyNXtmaWxsOiMyNzcxRjA7fQo8L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDE1IiBkPSJNNTAxLjgsMjc0TDUwMS44LDI3NGMtNy42LTIzLjMtMzIuNi0zNi4xLTU2LTI4LjVMOTYuMiwzNTkuMWMtMjMuMyw3LjYtMzYuMSwzMi42LTI4LjUsNTZsMCwwICAgYzcuNiwyMy4zLDMyLjYsMzYuMSw1NiwyOC41bDM0OS42LTExMy42QzQ5Ni42LDMyMi40LDUwOS40LDI5Ny4zLDUwMS44LDI3NHoiLz48cGF0aCBjbGFzcz0ic3QxNiIgZD0iTTQ0My41LDk3LjdsLTAuMi0wLjVjLTcuNi0yMy4zLTMyLjYtMzYuMS01Ni0yOC41TDM4LjcsMTgyLjFjLTIzLjMsNy42LTM2LjEsMzIuNi0yOC41LDU2bDAuMiwwLjUgICBjNy42LDIzLjMsMzIuNiwzNi4xLDU2LDI4LjVsMzQ4LjYtMTEzLjNDNDM4LjMsMTQ2LjEsNDUxLDEyMS4xLDQ0My41LDk3Ljd6Ii8+PHBhdGggY2xhc3M9InN0MTciIGQ9Ik00NDMuNiwzODguM0wzMjkuOSwzOC43Yy03LjYtMjMuMy0zMi42LTM2LjEtNTYtMjguNXYwYy0yMy4zLDcuNi0zNi4xLDMyLjYtMjguNSw1NmwxMTMuNiwzNDkuNiAgIGM3LjYsMjMuMywzMi42LDM2LjEsNTYsMjguNWgwQzQzOC40LDQzNi43LDQ1MS4yLDQxMS42LDQ0My42LDM4OC4zeiIvPjxwYXRoIGNsYXNzPSJzdDE4IiBkPSJNMjY3LDQ0NS43TDE1My43LDk3LjFjLTcuNi0yMy4zLTMyLjYtMzYuMS01Ni0yOC41bC0wLjUsMC4yYy0yMy4zLDcuNi0zNi4xLDMyLjYtMjguNSw1NmwxMTMuMywzNDguNiAgIGM3LjYsMjMuMywzMi42LDM2LjEsNTYsMjguNWwwLjUtMC4yQzI2MS45LDQ5NC4xLDI3NC42LDQ2OSwyNjcsNDQ1Ljd6Ii8+PHJlY3QgY2xhc3M9InN0MTkiIGhlaWdodD0iODkuNCIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTUxIDAuMzA5MSAtMC4zMDkxIC0wLjk1MSAzMzEuOTg5NiAzNDAuMjQ1KSIgd2lkdGg9Ijg5LjQiIHg9Ijk0LjQiIHk9IjE1MS43Ii8+PHJlY3QgY2xhc3M9InN0MjAiIGhlaWdodD0iODguOCIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTEgLTAuMzA5MSAwLjMwOTEgMC45NTEgLTEwNS43NDk4IDc5LjAzMDEpIiB3aWR0aD0iODkuNCIgeD0iMTUxLjgiIHk9IjMyOC44Ii8+PHJlY3QgY2xhc3M9InN0MjEiIGhlaWdodD0iODguOCIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTEgLTAuMzA5MSAwLjMwOTEgMC45NTEgLTc5LjMyNSAxMzAuODY4OSkiIHdpZHRoPSI4OC44IiB4PSIzMjguOSIgeT0iMjcxLjMiLz48L2c+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Slack" camel.apache.org/kamelet.namespace: "Social" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Slack Sink" description: Send messages to a Slack channel. required: - channel - webhookUrl type: object properties: channel: title: Channel description: The Slack channel to send messages to. type: string example: "#myroom" webhookUrl: title: Webhook URL description: The webhook URL used by the Slack channel to handle incoming messages. type: string format: password x-descriptors: - urn:camel:group:credentials iconEmoji: title: Icon Emoji description: Use a Slack emoji as an avatar. type: string iconUrl: title: Icon URL description: The avatar to use when sending a message to a channel or user. type: string username: title: Username description: The username for the bot when it sends messages to a channel or user. type: string types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:slack" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "slack:{{channel}}" parameters: webhookUrl: "{{webhookUrl}}" iconEmoji: "{{?iconEmoji}}" iconUrl: "{{?iconUrl}}" username: "{{?username}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: slack-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaWQ9IkxheWVyXzEiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDUxMiA1MTI7IiB2ZXJzaW9uPSIxLjEiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPgoJLnN0MHtmaWxsOiMyNUQzNjY7fQoJLnN0MXtmaWxsOiNGRkZGRkY7fQoJLnN0MntmaWxsOiNGRjAwMDA7fQoJLnN0M3tmaWxsOiMzRDVBOTg7fQoJLnN0NHtmaWxsOnVybCgjU1ZHSURfMV8pO30KCS5zdDV7ZmlsbDp1cmwoI1NWR0lEXzJfKTt9Cgkuc3Q2e2ZpbGw6IzU1QURFRTt9Cgkuc3Q3e2ZpbGw6IzFFOTZDODt9Cgkuc3Q4e2ZpbGw6I0E5QzlERDt9Cgkuc3Q5e2ZpbGw6I0M4REFFQTt9Cgkuc3QxMHtmaWxsOm5vbmU7fQoJLnN0MTF7ZmlsbDojNDc4N0YzO30KCS5zdDEye2ZpbGw6I0RDNDgzQzt9Cgkuc3QxM3tmaWxsOiNGRkNFNDM7fQoJLnN0MTR7ZmlsbDojMTQ5RjVDO30KCS5zdDE1e2ZpbGw6I0NFMUU1Qjt9Cgkuc3QxNntmaWxsOiM3MkM1Q0Q7fQoJLnN0MTd7ZmlsbDojREZBMjJGO30KCS5zdDE4e2ZpbGw6IzNDQjE4Nzt9Cgkuc3QxOXtmaWxsOiMyNDhDNzM7fQoJLnN0MjB7ZmlsbDojMzkyNTM4O30KCS5zdDIxe2ZpbGw6I0JCMjQyQTt9Cgkuc3QyMntmaWxsOm5vbmU7c3Ryb2tlOiMzQ0IxODc7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fQoJLnN0MjN7ZmlsbDojMDA5QTU3O30KCS5zdDI0e2ZpbGw6I0ZDQ0QzNzt9Cgkuc3QyNXtmaWxsOiMyNzcxRjA7fQo8L3N0eWxlPjxnPjxwYXRoIGNsYXNzPSJzdDE1IiBkPSJNNTAxLjgsMjc0TDUwMS44LDI3NGMtNy42LTIzLjMtMzIuNi0zNi4xLTU2LTI4LjVMOTYuMiwzNTkuMWMtMjMuMyw3LjYtMzYuMSwzMi42LTI4LjUsNTZsMCwwICAgYzcuNiwyMy4zLDMyLjYsMzYuMSw1NiwyOC41bDM0OS42LTExMy42QzQ5Ni42LDMyMi40LDUwOS40LDI5Ny4zLDUwMS44LDI3NHoiLz48cGF0aCBjbGFzcz0ic3QxNiIgZD0iTTQ0My41LDk3LjdsLTAuMi0wLjVjLTcuNi0yMy4zLTMyLjYtMzYuMS01Ni0yOC41TDM4LjcsMTgyLjFjLTIzLjMsNy42LTM2LjEsMzIuNi0yOC41LDU2bDAuMiwwLjUgICBjNy42LDIzLjMsMzIuNiwzNi4xLDU2LDI4LjVsMzQ4LjYtMTEzLjNDNDM4LjMsMTQ2LjEsNDUxLDEyMS4xLDQ0My41LDk3Ljd6Ii8+PHBhdGggY2xhc3M9InN0MTciIGQ9Ik00NDMuNiwzODguM0wzMjkuOSwzOC43Yy03LjYtMjMuMy0zMi42LTM2LjEtNTYtMjguNXYwYy0yMy4zLDcuNi0zNi4xLDMyLjYtMjguNSw1NmwxMTMuNiwzNDkuNiAgIGM3LjYsMjMuMywzMi42LDM2LjEsNTYsMjguNWgwQzQzOC40LDQzNi43LDQ1MS4yLDQxMS42LDQ0My42LDM4OC4zeiIvPjxwYXRoIGNsYXNzPSJzdDE4IiBkPSJNMjY3LDQ0NS43TDE1My43LDk3LjFjLTcuNi0yMy4zLTMyLjYtMzYuMS01Ni0yOC41bC0wLjUsMC4yYy0yMy4zLDcuNi0zNi4xLDMyLjYtMjguNSw1NmwxMTMuMywzNDguNiAgIGM3LjYsMjMuMywzMi42LDM2LjEsNTYsMjguNWwwLjUtMC4yQzI2MS45LDQ5NC4xLDI3NC42LDQ2OSwyNjcsNDQ1Ljd6Ii8+PHJlY3QgY2xhc3M9InN0MTkiIGhlaWdodD0iODkuNCIgdHJhbnNmb3JtPSJtYXRyaXgoLTAuOTUxIDAuMzA5MSAtMC4zMDkxIC0wLjk1MSAzMzEuOTg5NiAzNDAuMjQ1KSIgd2lkdGg9Ijg5LjQiIHg9Ijk0LjQiIHk9IjE1MS43Ii8+PHJlY3QgY2xhc3M9InN0MjAiIGhlaWdodD0iODguOCIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTEgLTAuMzA5MSAwLjMwOTEgMC45NTEgLTEwNS43NDk4IDc5LjAzMDEpIiB3aWR0aD0iODkuNCIgeD0iMTUxLjgiIHk9IjMyOC44Ii8+PHJlY3QgY2xhc3M9InN0MjEiIGhlaWdodD0iODguOCIgdHJhbnNmb3JtPSJtYXRyaXgoMC45NTEgLTAuMzA5MSAwLjMwOTEgMC45NTEgLTc5LjMyNSAxMzAuODY4OSkiIHdpZHRoPSI4OC44IiB4PSIzMjguOSIgeT0iMjcxLjMiLz48L2c+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Slack" camel.apache.org/kamelet.namespace: "Social" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Slack Source" description: Receive messages from a Slack channel. required: - channel - token type: object properties: serverUrl: title: Server URL description: The Slack API server endpoint URL. type: string default: "https://slack.com" example: "https://slack.com" channel: title: Channel description: The Slack channel to receive messages from. type: string example: "#myroom" token: title: Token description: "The Bot User OAuth Access Token to access Slack. A Slack app that has the following permissions is required: `channels:history`, `groups:history`, `im:history`, `mpim:history`, `channels:read`, `groups:read`, `im:read`, and `mpim:read`." type: string format: password x-descriptors: - urn:camel:group:credentials delay: title: Delay description: The delay between polls. If no unit provided, milliseconds is the default. type: string default: "60000" example: "60s or 6000 or 1m" naturalOrder: title: Natural Order description: Create exchanges in natural order (oldest to newest) or not. type: boolean default: false dataTypes: out: default: json headers: types: json: format: "application-json" description: Json mapping of a Slack API Message mediaType: application/json cloudevents: format: "slack:application-cloudevents" description: Output data type represents Slack channel messages as CloudEvent V1. The data type sets Camel specific CloudEvent headers on the exchange with respective data from the Slack message and its derived object. headers: CamelCloudEventID: title: CloudEvent ID description: The Camel exchange id set as event id type: string CamelCloudEventType: title: CloudEvent Type description: The event type default: "org.apache.camel.event.slack.consume" type: string CamelCloudEventSource: title: CloudEvent Source description: The event source. By default, the Slack App Id with prefix "slack.". type: string CamelCloudEventSubject: title: CloudEvent Subject description: The event subject. The Slack Channel name. type: string CamelCloudEventTime: title: CloudEvent Time description: The exchange creation timestamp as event time. type: string types: out: mediaType: application/json dependencies: - "camel:gson" - "camel:slack" - "camel:kamelet" template: from: uri: "slack:{{channel}}" parameters: serverUrl: "{{serverUrl}}" token: "{{token}}" delay: "{{delay}}" naturalOrder: "{{naturalOrder}}" steps: - marshal: json: library: "Gson" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: snowflake-sink annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjIiIGJhc2VQcm9maWxlPSJ0aW55LXBzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNTY1IDE1NTkiIHdpZHRoPSIxNTY1IiBoZWlnaHQ9IjE1NTkiPgoJPHRpdGxlPmxvZ28tYmx1ZS1zdmcgY29weS1zdmc8L3RpdGxlPgoJPGRlZnM+CgkJPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY3AxIj4KCQkJPHBhdGggZD0iTTAuMjQgMEw2ODkzLjI2IDBMNjg5My4yNiAxNTU4LjIyTDAuMjQgMTU1OC4yMkwwLjI0IDBaIiAvPgoJCTwvY2xpcFBhdGg+Cgk8L2RlZnM+Cgk8c3R5bGU+CgkJdHNwYW4geyB3aGl0ZS1zcGFjZTpwcmUgfQoJCS5zaHAwIHsgZmlsbDogIzI5YjVlOCB9IAoJPC9zdHlsZT4KCTxnIGlkPSJIT01FUEFHRSI+CgkJPGcgaWQ9IlNub3dmbGFrZS1Ib21lcGFnZS1wbGF0Zm9ybS1hbHQtMy1Db3B5Ij4KCQkJPGcgaWQ9IkNvbXBvbmVudHMtLy1OYXZpZ2F0aW9uLS8tTWFpbiI+CgkJCQk8ZyBpZD0iTG9nby0vLVNub3dmbGFrZS1CbHVlIj4KCQkJCQk8ZyBpZD0iTGF5ZXIiPgoJCQkJCQk8ZyBpZD0iTWFzayI+CgkJCQkJCTwvZz4KCQkJCQkJPGcgaWQ9IkNsaXAtUGF0aDogQ2xpcC1QYXRoOiBGaWxsLTEiIGNsaXAtcGF0aD0idXJsKCNjcDEpIj4KCQkJCQkJCTxnIGlkPSJDbGlwLVBhdGg6IEZpbGwtMSI+CgkJCQkJCQkJPHBhdGggaWQ9IkZpbGwtMSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGFzcz0ic2hwMCIgZD0iTTUyMi42MyA4MDcuNTdDNTE1LjYzIDgzMC4wNyA1MDAuNDQgODUwLjA2IDQ3OC4wNyA4NjIuODRMMTQ2LjcyIDEwNTIuNjlDOTkuOTIgMTA3OS4zOSA0MC4zIDEwNjMuNTYgMTMuNDQgMTAxNy4zOEMtMTMuNTkgOTcwLjk0IDIuMzIgOTExLjg2IDQ5LjA4IDg4NS4wOEwyMzQuMjYgNzc5LjE3TDQ5LjA4IDY3Mi45OEMyLjMyIDY0Ni4yNCAtMTMuNjcgNTg3LjE1IDEzLjQ0IDU0MC44OEM0MC4zIDQ5NC41OCA5OS45MiA0NzguNyAxNDYuNzIgNTA1LjRMNDc4LjA3IDY5NS4xM0M1MDEuMzcgNzA4LjQ2IDUxNi45NCA3MjkuNiA1MjMuNDggNzUzLjI0QzUyNS42OCA3NjAuODQgNTI2LjY2IDc2OC40NCA1MjcuMDQgNzc2LjA4QzUyNy4zIDc4Ni42IDUyNS45NCA3OTcuMjYgNTIyLjYzIDgwNy41N1pNNjEyLjU0IDk4NS4zOEM2NjMgOTg4Ljk4IDcwMi44NCAxMDMwLjg0IDcwMi44NCAxMDgxLjc3TDcwMi44NCAxNDYxLjM2QzcwMi44NCAxNTE0Ljg5IDY1OS4wNSAxNTU4LjIyIDYwNS4yOSAxNTU4LjIyQzU1MS4yNyAxNTU4LjIyIDUwNy42NSAxNTE0Ljg5IDUwNy42NSAxNDYxLjM2TDUwNy42NSAxMjQ5LjA1TDMyMS44NCAxMzU1LjI5QzI3NS4yNSAxMzgyLjIgMjE1LjY3IDEzNjYuMjggMTg4LjYgMTMyMC4wNkMxNjEuNyAxMjczLjc1IDE3Ny42MSAxMjE0LjM3IDIyNC4yOSAxMTg3LjYzTDU1NS45IDk5OC4wMkM1NzMuNzIgOTg3LjcxIDU5My40OSA5ODMuNzYgNjEyLjU0IDk4NS4zOFpNOTUyLjE3IDU3Mi44NUM5MDEuNTkgNTY5LjE1IDg2MS44MyA1MjcuMjIgODYxLjgzIDQ3Ni4zM0w4NjEuODMgOTYuNjlDODYxLjgzIDQzLjM0IDkwNS4zNyAwIDk1OS40MyAwQzEwMTMuNDQgMCAxMDU3LjA3IDQzLjM0IDEwNTcuMDcgOTYuNjlMMTA1Ny4wNyAzMDkuMTNMMTI0Mi43NSAyMDIuNzJDMTI4OS40MyAxNzUuOTggMTM0OS4wNCAxOTEuODUgMTM3NS45NSAyMzguMDhDMTQwMi44IDI4NC41NiAxMzg2Ljk4IDM0My42OCAxMzQwLjI2IDM3MC40MkwxMDA4LjY5IDU2MC4yQzk5MC44NyA1NzAuMzggOTcxLjE0IDU3NC4zNyA5NTIuMTcgNTcyLjg1Wk0yMjQuMjkgMzcwLjQyQzE3Ny42MSAzNDMuNjggMTYxLjcgMjg0LjU2IDE4OC42IDIzOC4wOEMyMTUuNjcgMTkxLjg1IDI3NS4yNSAxNzUuOTggMzIxLjg0IDIwMi43Mkw1MDcuNjUgMzA5LjEzTDUwNy42NSA5Ni42OUM1MDcuNjUgNDMuMzQgNTUxLjI3IDAgNjA1LjI5IDBDNjU5LjA1IDAgNzAyLjg0IDQzLjM0IDcwMi44NCA5Ni42OUw3MDIuODQgNDc2LjMzQzcwMi44NCA1MjcuMjIgNjYzIDU2OS4xNSA2MTIuNTQgNTcyLjg1QzU5My40OSA1NzQuMzcgNTczLjcyIDU3MC4zOCA1NTUuOSA1NjAuMkwyMjQuMjkgMzcwLjQyWk04MTkuODMgOTUyLjc0QzgxNS44OCA5NTYuNzcgODA4LjI4IDk2MC4wNCA4MDIuNTEgOTYwLjA0TDc2MS45OSA5NjAuMDRDNzU2LjQzIDk2MC4wNCA3NDguNzEgOTU2Ljc3IDc0NC42OCA5NTIuNzRMNjA2Ljk0IDgxNi4yN0M2MDMgODEyLjQxIDU5OS44MSA4MDQuNjggNTk5LjgxIDc5OS4yNUw1OTkuODEgNzU4Ljk3QzU5OS44MSA3NTMuNDEgNjAzIDc0NS42OSA2MDYuOTQgNzQxLjc4TDc0NC42OCA2MDUuMjdDNzQ4LjcxIDYwMS4yOSA3NTYuNDMgNTk4LjEgNzYxLjk5IDU5OC4xTDgwMi41MSA1OTguMUM4MDguMTYgNTk4LjEgODE1Ljg4IDYwMS4yOSA4MTkuODMgNjA1LjI3TDk1Ny42NSA3NDEuNzhDOTYxLjU5IDc0NS42OSA5NjQuNzcgNzUzLjQxIDk2NC43NyA3NTguOTdMOTY0Ljc3IDc5OS4yNUM5NjQuNzcgODA0LjY4IDk2MS41OSA4MTIuNDEgOTU3LjY1IDgxNi4yN0w4MTkuODMgOTUyLjc0Wk04NDcuNDkgNzc4LjM3Qzg0Ny40OSA3NzIuODUgODQ0LjE0IDc2NS4xNyA4NDAuMTkgNzYxLjA5TDgwMC4yNiA3MjEuN0M3OTYuMzYgNzE3LjggNzg4LjYgNzE0LjU3IDc4My4wNCA3MTQuNTdMNzgxLjQ3IDcxNC41N0M3NzUuOTEgNzE0LjU3IDc2OC4xOSA3MTcuOCA3NjQuMzIgNzIxLjdMNzI0LjQgNzYxLjA5QzcyMC40MSA3NjUuMTcgNzE3LjM1IDc3Mi44NSA3MTcuMzUgNzc4LjM3TDcxNy4zNSA3NzkuOTRDNzE3LjM1IDc4NS4zNyA3MjAuNDEgNzkyLjk3IDcyNC40IDc5Ni45Nkw3NjQuMzIgODM2LjQzQzc2OC4yMyA4NDAuMzQgNzc1LjkxIDg0My41NiA3ODEuNDcgODQzLjU2TDc4My4wNCA4NDMuNTZDNzg4LjYgODQzLjU2IDc5Ni4zNiA4NDAuMzQgODAwLjI2IDgzNi40M0w4NDAuMTkgNzk2Ljk2Qzg0NC4xNCA3OTIuOTcgODQ3LjQ5IDc4NS4zNyA4NDcuNDkgNzc5Ljk0TDg0Ny40OSA3NzguMzdaTTEzNDAuMjYgMTE4Ny42M0MxMzg2Ljk4IDEyMTQuMzcgMTQwMi44IDEyNzMuNzUgMTM3NS45NSAxMzIwLjA2QzEzNDkuMDQgMTM2Ni4yOCAxMjg5LjM4IDEzODIuMiAxMjQyLjc1IDEzNTUuMjlMMTA1Ny4wNyAxMjQ5LjA1TDEwNTcuMDcgMTQ2MS4zNkMxMDU3LjA3IDE1MTQuODkgMTAxMy40NCAxNTU4LjIyIDk1OS40MyAxNTU4LjIyQzkwNS4zNyAxNTU4LjIyIDg2MS44MyAxNTE0Ljg5IDg2MS44MyAxNDYxLjM2TDg2MS44MyAxMDgxLjc3Qzg2MS44MyAxMDMwLjg0IDkwMS41OSA5ODguOTggOTUyLjE3IDk4NS4zOEM5NzEuMTQgOTgzLjc2IDk5MC44NyA5ODcuNzEgMTAwOC42OSA5OTguMDJMMTM0MC4yNiAxMTg3LjYzWk0xMzMwLjM3IDc3OS4xN0wxNTE1LjU1IDg4NS4wOEMxNTYyLjMxIDkxMS44NiAxNTc4LjMxIDk3MC45NCAxNTUxLjI4IDEwMTcuMzhDMTUyNC4yOSAxMDYzLjU2IDE0NjQuNTkgMTA3OS4zOSAxNDE4IDEwNTIuNjlMMTA4Ni4zOSA4NjIuODRDMTA2NC4yNCA4NTAuMDYgMTA0OC45MiA4MzAuMDcgMTA0Mi4wOSA4MDcuNTdDMTAzOC44NiA3OTcuMjYgMTAzNy4zMyA3ODYuNiAxMDM3LjcyIDc3Ni4wOEMxMDM3Ljg5IDc2OC40NCAxMDM5LjAzIDc2MC44NCAxMDQxLjE1IDc1My4yNEMxMDQ3Ljc3IDcyOS42IDEwNjMuMzUgNzA4LjQ2IDEwODYuMzkgNjk1LjEzTDE0MTggNTA1LjRDMTQ2NC41OSA0NzguNyAxNTI0LjI5IDQ5NC41OCAxNTUxLjI4IDU0MC44OEMxNTc4LjMxIDU4Ny4xNSAxNTYyLjMxIDY0Ni4yNCAxNTE1LjU1IDY3Mi45OEwxMzMwLjM3IDc3OS4xN1oiIC8+CgkJCQkJCQk8L2c+CgkJCQkJCTwvZz4KCQkJCQk8L2c+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Snowflake Sink" description: Send data to a Snowflake Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. required: - instanceUrl - username - password - query type: object properties: instanceUrl: title: Instance URL description: The Instance url type: string example: instance.snowflakecomputing.com username: title: Username description: The username to access a secured Snowflake Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured Snowflake Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the Snowflake Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the Snowflake Database. type: string types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:net.snowflake:snowflake-jdbc:3.24.2" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-snowflake-sink type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:net.snowflake.client.jdbc.SnowflakeBasicDataSource" properties: user: '{{username}}' password: '{{password}}' url: 'jdbc:snowflake://{{instanceUrl}}' databaseName: '{{?databaseName}}' from: uri: "kamelet:source" steps: - unmarshal: json: library: Jackson - to: uri: "{{local-sql-snowflake-sink}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: snowflake-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB2ZXJzaW9uPSIxLjIiIGJhc2VQcm9maWxlPSJ0aW55LXBzIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNTY1IDE1NTkiIHdpZHRoPSIxNTY1IiBoZWlnaHQ9IjE1NTkiPgoJPHRpdGxlPmxvZ28tYmx1ZS1zdmcgY29weS1zdmc8L3RpdGxlPgoJPGRlZnM+CgkJPGNsaXBQYXRoIGNsaXBQYXRoVW5pdHM9InVzZXJTcGFjZU9uVXNlIiBpZD0iY3AxIj4KCQkJPHBhdGggZD0iTTAuMjQgMEw2ODkzLjI2IDBMNjg5My4yNiAxNTU4LjIyTDAuMjQgMTU1OC4yMkwwLjI0IDBaIiAvPgoJCTwvY2xpcFBhdGg+Cgk8L2RlZnM+Cgk8c3R5bGU+CgkJdHNwYW4geyB3aGl0ZS1zcGFjZTpwcmUgfQoJCS5zaHAwIHsgZmlsbDogIzI5YjVlOCB9IAoJPC9zdHlsZT4KCTxnIGlkPSJIT01FUEFHRSI+CgkJPGcgaWQ9IlNub3dmbGFrZS1Ib21lcGFnZS1wbGF0Zm9ybS1hbHQtMy1Db3B5Ij4KCQkJPGcgaWQ9IkNvbXBvbmVudHMtLy1OYXZpZ2F0aW9uLS8tTWFpbiI+CgkJCQk8ZyBpZD0iTG9nby0vLVNub3dmbGFrZS1CbHVlIj4KCQkJCQk8ZyBpZD0iTGF5ZXIiPgoJCQkJCQk8ZyBpZD0iTWFzayI+CgkJCQkJCTwvZz4KCQkJCQkJPGcgaWQ9IkNsaXAtUGF0aDogQ2xpcC1QYXRoOiBGaWxsLTEiIGNsaXAtcGF0aD0idXJsKCNjcDEpIj4KCQkJCQkJCTxnIGlkPSJDbGlwLVBhdGg6IEZpbGwtMSI+CgkJCQkJCQkJPHBhdGggaWQ9IkZpbGwtMSIgZmlsbC1ydWxlPSJldmVub2RkIiBjbGFzcz0ic2hwMCIgZD0iTTUyMi42MyA4MDcuNTdDNTE1LjYzIDgzMC4wNyA1MDAuNDQgODUwLjA2IDQ3OC4wNyA4NjIuODRMMTQ2LjcyIDEwNTIuNjlDOTkuOTIgMTA3OS4zOSA0MC4zIDEwNjMuNTYgMTMuNDQgMTAxNy4zOEMtMTMuNTkgOTcwLjk0IDIuMzIgOTExLjg2IDQ5LjA4IDg4NS4wOEwyMzQuMjYgNzc5LjE3TDQ5LjA4IDY3Mi45OEMyLjMyIDY0Ni4yNCAtMTMuNjcgNTg3LjE1IDEzLjQ0IDU0MC44OEM0MC4zIDQ5NC41OCA5OS45MiA0NzguNyAxNDYuNzIgNTA1LjRMNDc4LjA3IDY5NS4xM0M1MDEuMzcgNzA4LjQ2IDUxNi45NCA3MjkuNiA1MjMuNDggNzUzLjI0QzUyNS42OCA3NjAuODQgNTI2LjY2IDc2OC40NCA1MjcuMDQgNzc2LjA4QzUyNy4zIDc4Ni42IDUyNS45NCA3OTcuMjYgNTIyLjYzIDgwNy41N1pNNjEyLjU0IDk4NS4zOEM2NjMgOTg4Ljk4IDcwMi44NCAxMDMwLjg0IDcwMi44NCAxMDgxLjc3TDcwMi44NCAxNDYxLjM2QzcwMi44NCAxNTE0Ljg5IDY1OS4wNSAxNTU4LjIyIDYwNS4yOSAxNTU4LjIyQzU1MS4yNyAxNTU4LjIyIDUwNy42NSAxNTE0Ljg5IDUwNy42NSAxNDYxLjM2TDUwNy42NSAxMjQ5LjA1TDMyMS44NCAxMzU1LjI5QzI3NS4yNSAxMzgyLjIgMjE1LjY3IDEzNjYuMjggMTg4LjYgMTMyMC4wNkMxNjEuNyAxMjczLjc1IDE3Ny42MSAxMjE0LjM3IDIyNC4yOSAxMTg3LjYzTDU1NS45IDk5OC4wMkM1NzMuNzIgOTg3LjcxIDU5My40OSA5ODMuNzYgNjEyLjU0IDk4NS4zOFpNOTUyLjE3IDU3Mi44NUM5MDEuNTkgNTY5LjE1IDg2MS44MyA1MjcuMjIgODYxLjgzIDQ3Ni4zM0w4NjEuODMgOTYuNjlDODYxLjgzIDQzLjM0IDkwNS4zNyAwIDk1OS40MyAwQzEwMTMuNDQgMCAxMDU3LjA3IDQzLjM0IDEwNTcuMDcgOTYuNjlMMTA1Ny4wNyAzMDkuMTNMMTI0Mi43NSAyMDIuNzJDMTI4OS40MyAxNzUuOTggMTM0OS4wNCAxOTEuODUgMTM3NS45NSAyMzguMDhDMTQwMi44IDI4NC41NiAxMzg2Ljk4IDM0My42OCAxMzQwLjI2IDM3MC40MkwxMDA4LjY5IDU2MC4yQzk5MC44NyA1NzAuMzggOTcxLjE0IDU3NC4zNyA5NTIuMTcgNTcyLjg1Wk0yMjQuMjkgMzcwLjQyQzE3Ny42MSAzNDMuNjggMTYxLjcgMjg0LjU2IDE4OC42IDIzOC4wOEMyMTUuNjcgMTkxLjg1IDI3NS4yNSAxNzUuOTggMzIxLjg0IDIwMi43Mkw1MDcuNjUgMzA5LjEzTDUwNy42NSA5Ni42OUM1MDcuNjUgNDMuMzQgNTUxLjI3IDAgNjA1LjI5IDBDNjU5LjA1IDAgNzAyLjg0IDQzLjM0IDcwMi44NCA5Ni42OUw3MDIuODQgNDc2LjMzQzcwMi44NCA1MjcuMjIgNjYzIDU2OS4xNSA2MTIuNTQgNTcyLjg1QzU5My40OSA1NzQuMzcgNTczLjcyIDU3MC4zOCA1NTUuOSA1NjAuMkwyMjQuMjkgMzcwLjQyWk04MTkuODMgOTUyLjc0QzgxNS44OCA5NTYuNzcgODA4LjI4IDk2MC4wNCA4MDIuNTEgOTYwLjA0TDc2MS45OSA5NjAuMDRDNzU2LjQzIDk2MC4wNCA3NDguNzEgOTU2Ljc3IDc0NC42OCA5NTIuNzRMNjA2Ljk0IDgxNi4yN0M2MDMgODEyLjQxIDU5OS44MSA4MDQuNjggNTk5LjgxIDc5OS4yNUw1OTkuODEgNzU4Ljk3QzU5OS44MSA3NTMuNDEgNjAzIDc0NS42OSA2MDYuOTQgNzQxLjc4TDc0NC42OCA2MDUuMjdDNzQ4LjcxIDYwMS4yOSA3NTYuNDMgNTk4LjEgNzYxLjk5IDU5OC4xTDgwMi41MSA1OTguMUM4MDguMTYgNTk4LjEgODE1Ljg4IDYwMS4yOSA4MTkuODMgNjA1LjI3TDk1Ny42NSA3NDEuNzhDOTYxLjU5IDc0NS42OSA5NjQuNzcgNzUzLjQxIDk2NC43NyA3NTguOTdMOTY0Ljc3IDc5OS4yNUM5NjQuNzcgODA0LjY4IDk2MS41OSA4MTIuNDEgOTU3LjY1IDgxNi4yN0w4MTkuODMgOTUyLjc0Wk04NDcuNDkgNzc4LjM3Qzg0Ny40OSA3NzIuODUgODQ0LjE0IDc2NS4xNyA4NDAuMTkgNzYxLjA5TDgwMC4yNiA3MjEuN0M3OTYuMzYgNzE3LjggNzg4LjYgNzE0LjU3IDc4My4wNCA3MTQuNTdMNzgxLjQ3IDcxNC41N0M3NzUuOTEgNzE0LjU3IDc2OC4xOSA3MTcuOCA3NjQuMzIgNzIxLjdMNzI0LjQgNzYxLjA5QzcyMC40MSA3NjUuMTcgNzE3LjM1IDc3Mi44NSA3MTcuMzUgNzc4LjM3TDcxNy4zNSA3NzkuOTRDNzE3LjM1IDc4NS4zNyA3MjAuNDEgNzkyLjk3IDcyNC40IDc5Ni45Nkw3NjQuMzIgODM2LjQzQzc2OC4yMyA4NDAuMzQgNzc1LjkxIDg0My41NiA3ODEuNDcgODQzLjU2TDc4My4wNCA4NDMuNTZDNzg4LjYgODQzLjU2IDc5Ni4zNiA4NDAuMzQgODAwLjI2IDgzNi40M0w4NDAuMTkgNzk2Ljk2Qzg0NC4xNCA3OTIuOTcgODQ3LjQ5IDc4NS4zNyA4NDcuNDkgNzc5Ljk0TDg0Ny40OSA3NzguMzdaTTEzNDAuMjYgMTE4Ny42M0MxMzg2Ljk4IDEyMTQuMzcgMTQwMi44IDEyNzMuNzUgMTM3NS45NSAxMzIwLjA2QzEzNDkuMDQgMTM2Ni4yOCAxMjg5LjM4IDEzODIuMiAxMjQyLjc1IDEzNTUuMjlMMTA1Ny4wNyAxMjQ5LjA1TDEwNTcuMDcgMTQ2MS4zNkMxMDU3LjA3IDE1MTQuODkgMTAxMy40NCAxNTU4LjIyIDk1OS40MyAxNTU4LjIyQzkwNS4zNyAxNTU4LjIyIDg2MS44MyAxNTE0Ljg5IDg2MS44MyAxNDYxLjM2TDg2MS44MyAxMDgxLjc3Qzg2MS44MyAxMDMwLjg0IDkwMS41OSA5ODguOTggOTUyLjE3IDk4NS4zOEM5NzEuMTQgOTgzLjc2IDk5MC44NyA5ODcuNzEgMTAwOC42OSA5OTguMDJMMTM0MC4yNiAxMTg3LjYzWk0xMzMwLjM3IDc3OS4xN0wxNTE1LjU1IDg4NS4wOEMxNTYyLjMxIDkxMS44NiAxNTc4LjMxIDk3MC45NCAxNTUxLjI4IDEwMTcuMzhDMTUyNC4yOSAxMDYzLjU2IDE0NjQuNTkgMTA3OS4zOSAxNDE4IDEwNTIuNjlMMTA4Ni4zOSA4NjIuODRDMTA2NC4yNCA4NTAuMDYgMTA0OC45MiA4MzAuMDcgMTA0Mi4wOSA4MDcuNTdDMTAzOC44NiA3OTcuMjYgMTAzNy4zMyA3ODYuNiAxMDM3LjcyIDc3Ni4wOEMxMDM3Ljg5IDc2OC40NCAxMDM5LjAzIDc2MC44NCAxMDQxLjE1IDc1My4yNEMxMDQ3Ljc3IDcyOS42IDEwNjMuMzUgNzA4LjQ2IDEwODYuMzkgNjk1LjEzTDE0MTggNTA1LjRDMTQ2NC41OSA0NzguNyAxNTI0LjI5IDQ5NC41OCAxNTUxLjI4IDU0MC44OEMxNTc4LjMxIDU4Ny4xNSAxNTYyLjMxIDY0Ni4yNCAxNTE1LjU1IDY3Mi45OEwxMzMwLjM3IDc3OS4xN1oiIC8+CgkJCQkJCQk8L2c+CgkJCQkJCTwvZz4KCQkJCQk8L2c+CgkJCQk8L2c+CgkJCTwvZz4KCQk8L2c+Cgk8L2c+Cjwvc3ZnPg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Snowflake Source" description: Query data from a Snowflake Database. required: - instanceUrl - username - password - query type: object properties: instanceUrl: title: Instance URL description: The Instance url type: string example: instance.snowflakecomputing.com username: title: Username description: The username to access a secured Snowflake Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured Snowflake Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the Snowflake Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the Snowflake Database. type: string consumedQuery: title: Consumed Query description: A query to run on a tuple consumed. type: string example: 'DELETE FROM accounts where user_id = :#user_id' delay: title: Delay description: The number of milliseconds before the next poll type: integer default: 500 types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:net.snowflake:snowflake-jdbc:3.24.2" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sql-snowflake-source type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:net.snowflake.client.jdbc.SnowflakeBasicDataSource" properties: user: '{{username}}' password: '{{password}}' url: 'jdbc:snowflake://{{instanceUrl}}' databaseName: '{{?databaseName}}' from: uri: "{{local-sql-snowflake-source}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" onConsume: "{{?consumedQuery}}" delay: "{{delay}}" steps: - marshal: json: library: Jackson - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: solr-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iODAwIiB3aWR0aD0iMTIwMCIgdmlld0JveD0iLTQwLjYwMDk1IC0zNC4yMTc3NSAzNTEuODc0OSAyMDUuMzA2NSI+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIiBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTAgMTAyLjY1NGgyMDMuMDA1VjBIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48ZyBjbGlwLXBhdGg9InVybCgjYSkiIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMzMgMCAwIC0xLjMzMzMzIDAgMTM2Ljg3MSkiPjxwYXRoIGQ9Ik00MC43NiAzMS43NjNjLTIuMzQ0IDEuMjQ4LTQuOTk0IDIuMTI3LTcuODc0IDIuNjEzYTUxLjcwNyA1MS43MDcgMCAwMS04LjU1NC43MTdjLTIuMzI3IDAtNC42ODEuMjAxLTYuOTk4LjU5Ny0yLjI1Ni4zODQtNC4zIDEuMDkyLTYuMDc2IDIuMTA0LTEuNzMuOTg0LTMuMTYgMi4zNjEtNC4yNTIgNC4wOTUtMS4wNzggMS43MDYtMS42MjQgMy45NjgtMS42MjQgNi42OTcuMDUyIDIuNDEuNjEyIDQuNDcyIDEuNjY2IDYuMTNhMTIuNTUyIDEyLjU1MiAwIDAwNC4xNDcgNC4wNjZjMS43MjYgMS4wNDEgMy43MTggMS44MDYgNS45MiAyLjI3NCAzLjc1Mi43OTYgNy43MTQuOTQ1IDExLjc1LjM4MmEyMi40MTYgMjIuNDE2IDAgMDA0LjYzLTEuMTY4IDE2LjY5MSAxNi42OTEgMCAwMDQuMTA2LTIuMjE3IDE0LjA3IDE0LjA3IDAgMDAzLjI0Ni0zLjQxbC41MTQtLjc1NiAzLjc4OCAxLjU5NC0uODA0IDEuMTM1YTI1LjAzIDI1LjAzIDAgMDEtMy4zOTUgMy45IDE3LjI2NiAxNy4yNjYgMCAwMS00LjM1NiAyLjkwNWMtMS42MjMuNzY1LTMuNDggMS4zNTQtNS41MjIgMS43NTEtMi4wMjEuMzkyLTQuMzc3LjU5LTcuMDAzLjU5YTM2LjMzIDM2LjMzIDAgMDEtNy43My0uODU4Yy0yLjY1LS41OC01LjEwNi0xLjUzOC03LjMwMS0yLjg0OWExNi41OTEgMTYuNTkxIDAgMDEtNS40OTMtNS4zMDZjLTEuNDI1LTIuMjE5LTIuMTUtNC45NTctMi4xNS04LjEzOSAwLTMuMzQuNjcyLTYuMTgzIDEuOTk0LTguNDQ5IDEuMzE0LTIuMjUyIDMuMDc2LTQuMDc3IDUuMjM3LTUuNDIzIDIuMTE2LTEuMzIgNC41ODUtMi4yNjkgNy4zMzgtMi44MmE0Mi43NjcgNDIuNzY3IDAgMDE4LjM2OC0uODFjMi4yNzYgMCA0LjY4Ni0uMTczIDcuMTY0LS41MTYgMi40MS0uMzMzIDQuNjU1LTEuMDA1IDYuNjY5LTEuOTk3IDEuOTYyLS45NjkgMy41OTctMi4zMTYgNC44NTctNC4wMDUgMS4yMTktMS42MzUgMS44MzgtMy44NDMgMS44MzgtNi41NjIgMC0yLjQ0Mi0uNTk2LTQuNTI0LTEuNzctNi4xOTMtMS4yMTEtMS43MjQtMi43ODUtMy4xNDctNC42NzgtNC4yMjktMS45MzQtMS4xMDUtNC4xMjMtMS45MTktNi41MS0yLjQxOGEzNC45MDMgMzQuOTAzIDAgMDAtNy4xMzItLjc2NWMtMy44NzMgMC03LjcuNzQtMTEuMzc0IDIuMmEyNy4xOCAyNy4xOCAwIDAwLTkuNjQgNi40ODJsLS43MzUuNzY1TDAgMTEuMjUybC44NDgtLjg0OGMyLjcwMy0yLjcwNSA2LjA2LTUuMDYgOS45NzUtNy4wMDJDMTQuNzg2IDEuNDM1IDE5LjQ3OS40MzggMjQuNzcuNDM4YzIuNTE2IDAgNS4xODYuMjg4IDcuOTM4Ljg1NSAyLjc5LjU3NyA1LjQwOCAxLjU2MiA3Ljc4IDIuOTMxIDIuNDEgMS4zOSA0LjQxNSAzLjIxIDUuOTYyIDUuNDA2IDEuNTg5IDIuMjU3IDIuMzk1IDUuMDgxIDIuMzk1IDguMzk4IDAgMy4zNjEtLjc1NSA2LjIwNy0yLjI0NSA4LjQ2LTEuNDcxIDIuMjItMy40MzUgMy45OTUtNS44NCA1LjI3NU03Ni4zOSAzLjk4NWMtMi43MzIgMC01LjIzLjU2NC03LjQyNiAxLjY3NmExOS4xNDggMTkuMTQ4IDAgMDAtNS44NCA0LjU1NmMtMS42NTggMS45MDctMi45NzYgNC4xMzctMy45MTYgNi42M2EyNC44NTMgMjQuODUzIDAgMDAtMS41OTMgNy43NTNjMCAyLjQzLjQ1IDQuOTExIDEuMzM2IDcuMzc4YTIxLjY0OCAyMS42NDggMCAwMDMuODMzIDYuNjY2IDIwLjQxNCAyMC40MTQgMCAwMDUuOTg0IDQuODJjMi4yNzggMS4yMiA0Ljg0MiAxLjg0IDcuNjIyIDEuODQgMi42MTQgMCA1LjA4My0uNTggNy4zMzgtMS43MmEyMC4wMDMgMjAuMDAzIDAgMDA1Ljk3OC00LjYwN2MxLjY4NS0xLjkwOCAzLjAzLTQuMTM5IDQuMDAyLTYuNjMyYTIxLjMxNSAyMS4zMTUgMCAwMDEuNDU3LTcuNzQ1YzAtMi40MjYtLjQ1LTQuOTA5LTEuMzM1LTcuMzc3YTIxLjY0IDIxLjY0IDAgMDAtMy44MzQtNi42NjggMTkuODEzIDE5LjgxMyAwIDAwLTUuOTc1LTQuNzdjLTIuMjgtMS4xOTUtNC44NDYtMS44LTcuNjMxLTEuOG0xNi41NzcgMzcuMzc3Yy0xLjk4MiAyLjMxNi00LjM5MSA0LjIzMi03LjE2MiA1LjY5NC0yLjgxIDEuNDgyLTUuOTc3IDIuMjMyLTkuNDE1IDIuMjMyLTMuMTMyIDAtNi4xMjQtLjY3LTguODkzLTEuOTkzYTIzLjIwMiAyMy4yMDIgMCAwMS03LjIyNS01LjM4NGMtMi4wMzctMi4yNDktMy42Ny00Ljg5OC00Ljg1NC03Ljg3M0EyNS40MDEgMjUuNDAxIDAgMDE1My42MyAyNC42YzAtMy4xMDMuNTU1LTYuMTQgMS42NS05LjAyN2EyNS43OTUgMjUuNzk1IDAgMDE0LjYyNS03Ljc4NCAyMy4zODggMjMuMzg4IDAgMDE3LjE3NS01LjU2NkM2OS44NzcuODEgNzMuMDAzLjA2MSA3Ni4zNyAwaC4wNDJjMy4xODYuMDYxIDYuMjAzLjc3OCA4Ljk2NyAyLjEyOGEyMy43NjMgMjMuNzYzIDAgMDE3LjIxNyA1LjQyNGMyLjAzNyAyLjI1IDMuNjU2IDQuODcgNC44MSA3Ljc4N0EyNS4wNTcgMjUuMDU3IDAgMDE5OS4xNSAyNC42YzAgMi45MTctLjU0IDUuODktMS42IDguODM1YTI1LjQ0MiAyNS40NDIgMCAwMS00LjU4MyA3LjkyN00xMTkuNzgzIDUuMDljLS42Ny0uMTY2LTEuMjYtLjI5My0xLjc1Mi0uMzc1YTczLjE5MiA3My4xOTIgMCAwMC0xLjY4NS0uMjYgMTEuNzE3IDExLjcxNyAwIDAwLTEuNjM4LS4xMmMtMS4zMzcgMC0yLjMyLjQ0NC0zLjAxIDEuMzU2LS43NiAxLjAwNC0xLjEzIDItMS4xMyAzLjA0OXY1OC4zMzdoLTMuOTg2VjguNzRjMC0yLjE5LjY5MS00LjEyNiAyLjA1NS01Ljc1NCAxLjQxMy0xLjY5MSAzLjQyNi0yLjU0NyA1Ljk4My0yLjU0N2EyMCAyMCAwIDAxMi4zNjcuMTM5Yy43NDIuMDg5IDEuNDEuMTc4IDIuMDA2LjI2Ny42MS4wOTIgMS4zMTYuMjMgMi4xLjQxbDEuMzUxLjMxMi0xLjc3NCAzLjc0NnptMTcuMTk1IDQwLjE4M2MtMi4wNzMtMS40NTctMy45MDQtMy4zMDctNS40NzEtNS41MjJ2OC44MzZoLTMuOTg1Vi44NzdoMy45ODVWMzAuNThhMjQuMTYgMjQuMTYgMCAwMDIuMjYgNS40MjYgMTcuMjU0IDE3LjI1NCAwIDAwMy41MzkgNC4zNjIgMTYuOTE1IDE2LjkxNSAwIDAwNC44MSAyLjk1OGMxLjc5OS43MzYgMy44MjggMS4xNjYgNi4wMzIgMS4yNzdsMS4wNi4wNTN2My45MzFoLTEuMTE2Yy00LjI0NyAwLTcuOTg2LTEuMTE1LTExLjExNC0zLjMxNCIgZmlsbD0iIzI0MWYyYiIvPjxwYXRoIGQ9Ik0xOTMuOTExIDkyLjA0MWwtMzMtMzUuNjc3IDQxLjQ3MyAxOS4xMzRhMzMuNDggMzMuNDggMCAwMS04LjQ3MiAxNi41NDNtLTI0LjQ4NSAxMC42MTNjLTQuNTcyIDAtOC45MjgtLjkxNy0xMi45LTIuNTcybC00LjQyOC0zNy4zMTQgMjIuMTI3IDM5LjUzOWEzMy43NTYgMzMuNzU2IDAgMDEtNC44LjM0N20zMy4yODctMjkuMjExTDE2My40MTUgNTEuNDVsMzYuODcgNC4zNzVhMzMuNDU2IDMzLjQ1NiAwIDAxMi40MjggMTcuNjE3bS0xNC40ODgtMzIuMTk0YTMzLjc0OCAzMy43NDggMCAwMTEwLjYxMiAxMS42MTlsLTM0LjU2LTYuODYzem0tMTEuOTc1IDYwLjcxMWwtMTkuMjM4LTQxLjY5NSAzNS42ODUgMzMuMDA2Yy00LjQ3NSA0LjMwNS0xMC4xMzUgNy4zODYtMTYuNDQ4IDguNjg5bS00LjAxNi02Ni4zMzdhMzMuMzcgMzMuMzcgMCAwMTEwLjU0IDIuNjM4bC0xOS4zNTggMi4yOTd6bS0zMy40MTQgNDcuMjU3YTMzLjM2NSAzMy4zNjUgMCAwMS0yLjgzLTEwLjc5Mmw1LjIxNi05LjMyem0xNC43OTggMTUuODIyYTMzLjczNiAzMy43MzYgMCAwMS0xMS44MzItMTAuNTY3bDQuODY3LTI0LjUwNHoiIGZpbGw9IiNkYTM1MjIiLz48L2c+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Solr" camel.apache.org/kamelet.namespace: "Search" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Solr Sink" description: Send documents to Solr Collection. required: - servers - collection type: object properties: collection: title: Collection description: Solr Collection name type: string servers: title: Servers description: Comma separated list of Solr Servers and ports type: string autocommit: title: Autocommit description: If autocommit should be enabled or not type: boolean default: false username: title: Username description: Username to connect to Solr. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to connect to Solr. type: string format: password x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:solr" - "camel:core" - "camel:jackson" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - setHeader: name: "CamelSolrOperation" constant: "INSERT" - setHeader: name: "CamelSolrCollection" constant: "{{collection}}" - unmarshal: json: library: Jackson - removeHeader: name: "content-type" - to: uri: "solr:{{servers}}/solr/" parameters: autocommit: "{{autocommit}}" username: "{{?username}}" password: "{{?password}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: solr-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iODAwIiB3aWR0aD0iMTIwMCIgdmlld0JveD0iLTQwLjYwMDk1IC0zNC4yMTc3NSAzNTEuODc0OSAyMDUuMzA2NSI+PGRlZnM+PGNsaXBQYXRoIGlkPSJhIiBjbGlwUGF0aFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+PHBhdGggZD0iTTAgMTAyLjY1NGgyMDMuMDA1VjBIMHoiLz48L2NsaXBQYXRoPjwvZGVmcz48ZyBjbGlwLXBhdGg9InVybCgjYSkiIHRyYW5zZm9ybT0ibWF0cml4KDEuMzMzMzMgMCAwIC0xLjMzMzMzIDAgMTM2Ljg3MSkiPjxwYXRoIGQ9Ik00MC43NiAzMS43NjNjLTIuMzQ0IDEuMjQ4LTQuOTk0IDIuMTI3LTcuODc0IDIuNjEzYTUxLjcwNyA1MS43MDcgMCAwMS04LjU1NC43MTdjLTIuMzI3IDAtNC42ODEuMjAxLTYuOTk4LjU5Ny0yLjI1Ni4zODQtNC4zIDEuMDkyLTYuMDc2IDIuMTA0LTEuNzMuOTg0LTMuMTYgMi4zNjEtNC4yNTIgNC4wOTUtMS4wNzggMS43MDYtMS42MjQgMy45NjgtMS42MjQgNi42OTcuMDUyIDIuNDEuNjEyIDQuNDcyIDEuNjY2IDYuMTNhMTIuNTUyIDEyLjU1MiAwIDAwNC4xNDcgNC4wNjZjMS43MjYgMS4wNDEgMy43MTggMS44MDYgNS45MiAyLjI3NCAzLjc1Mi43OTYgNy43MTQuOTQ1IDExLjc1LjM4MmEyMi40MTYgMjIuNDE2IDAgMDA0LjYzLTEuMTY4IDE2LjY5MSAxNi42OTEgMCAwMDQuMTA2LTIuMjE3IDE0LjA3IDE0LjA3IDAgMDAzLjI0Ni0zLjQxbC41MTQtLjc1NiAzLjc4OCAxLjU5NC0uODA0IDEuMTM1YTI1LjAzIDI1LjAzIDAgMDEtMy4zOTUgMy45IDE3LjI2NiAxNy4yNjYgMCAwMS00LjM1NiAyLjkwNWMtMS42MjMuNzY1LTMuNDggMS4zNTQtNS41MjIgMS43NTEtMi4wMjEuMzkyLTQuMzc3LjU5LTcuMDAzLjU5YTM2LjMzIDM2LjMzIDAgMDEtNy43My0uODU4Yy0yLjY1LS41OC01LjEwNi0xLjUzOC03LjMwMS0yLjg0OWExNi41OTEgMTYuNTkxIDAgMDEtNS40OTMtNS4zMDZjLTEuNDI1LTIuMjE5LTIuMTUtNC45NTctMi4xNS04LjEzOSAwLTMuMzQuNjcyLTYuMTgzIDEuOTk0LTguNDQ5IDEuMzE0LTIuMjUyIDMuMDc2LTQuMDc3IDUuMjM3LTUuNDIzIDIuMTE2LTEuMzIgNC41ODUtMi4yNjkgNy4zMzgtMi44MmE0Mi43NjcgNDIuNzY3IDAgMDE4LjM2OC0uODFjMi4yNzYgMCA0LjY4Ni0uMTczIDcuMTY0LS41MTYgMi40MS0uMzMzIDQuNjU1LTEuMDA1IDYuNjY5LTEuOTk3IDEuOTYyLS45NjkgMy41OTctMi4zMTYgNC44NTctNC4wMDUgMS4yMTktMS42MzUgMS44MzgtMy44NDMgMS44MzgtNi41NjIgMC0yLjQ0Mi0uNTk2LTQuNTI0LTEuNzctNi4xOTMtMS4yMTEtMS43MjQtMi43ODUtMy4xNDctNC42NzgtNC4yMjktMS45MzQtMS4xMDUtNC4xMjMtMS45MTktNi41MS0yLjQxOGEzNC45MDMgMzQuOTAzIDAgMDAtNy4xMzItLjc2NWMtMy44NzMgMC03LjcuNzQtMTEuMzc0IDIuMmEyNy4xOCAyNy4xOCAwIDAwLTkuNjQgNi40ODJsLS43MzUuNzY1TDAgMTEuMjUybC44NDgtLjg0OGMyLjcwMy0yLjcwNSA2LjA2LTUuMDYgOS45NzUtNy4wMDJDMTQuNzg2IDEuNDM1IDE5LjQ3OS40MzggMjQuNzcuNDM4YzIuNTE2IDAgNS4xODYuMjg4IDcuOTM4Ljg1NSAyLjc5LjU3NyA1LjQwOCAxLjU2MiA3Ljc4IDIuOTMxIDIuNDEgMS4zOSA0LjQxNSAzLjIxIDUuOTYyIDUuNDA2IDEuNTg5IDIuMjU3IDIuMzk1IDUuMDgxIDIuMzk1IDguMzk4IDAgMy4zNjEtLjc1NSA2LjIwNy0yLjI0NSA4LjQ2LTEuNDcxIDIuMjItMy40MzUgMy45OTUtNS44NCA1LjI3NU03Ni4zOSAzLjk4NWMtMi43MzIgMC01LjIzLjU2NC03LjQyNiAxLjY3NmExOS4xNDggMTkuMTQ4IDAgMDAtNS44NCA0LjU1NmMtMS42NTggMS45MDctMi45NzYgNC4xMzctMy45MTYgNi42M2EyNC44NTMgMjQuODUzIDAgMDAtMS41OTMgNy43NTNjMCAyLjQzLjQ1IDQuOTExIDEuMzM2IDcuMzc4YTIxLjY0OCAyMS42NDggMCAwMDMuODMzIDYuNjY2IDIwLjQxNCAyMC40MTQgMCAwMDUuOTg0IDQuODJjMi4yNzggMS4yMiA0Ljg0MiAxLjg0IDcuNjIyIDEuODQgMi42MTQgMCA1LjA4My0uNTggNy4zMzgtMS43MmEyMC4wMDMgMjAuMDAzIDAgMDA1Ljk3OC00LjYwN2MxLjY4NS0xLjkwOCAzLjAzLTQuMTM5IDQuMDAyLTYuNjMyYTIxLjMxNSAyMS4zMTUgMCAwMDEuNDU3LTcuNzQ1YzAtMi40MjYtLjQ1LTQuOTA5LTEuMzM1LTcuMzc3YTIxLjY0IDIxLjY0IDAgMDAtMy44MzQtNi42NjggMTkuODEzIDE5LjgxMyAwIDAwLTUuOTc1LTQuNzdjLTIuMjgtMS4xOTUtNC44NDYtMS44LTcuNjMxLTEuOG0xNi41NzcgMzcuMzc3Yy0xLjk4MiAyLjMxNi00LjM5MSA0LjIzMi03LjE2MiA1LjY5NC0yLjgxIDEuNDgyLTUuOTc3IDIuMjMyLTkuNDE1IDIuMjMyLTMuMTMyIDAtNi4xMjQtLjY3LTguODkzLTEuOTkzYTIzLjIwMiAyMy4yMDIgMCAwMS03LjIyNS01LjM4NGMtMi4wMzctMi4yNDktMy42Ny00Ljg5OC00Ljg1NC03Ljg3M0EyNS40MDEgMjUuNDAxIDAgMDE1My42MyAyNC42YzAtMy4xMDMuNTU1LTYuMTQgMS42NS05LjAyN2EyNS43OTUgMjUuNzk1IDAgMDE0LjYyNS03Ljc4NCAyMy4zODggMjMuMzg4IDAgMDE3LjE3NS01LjU2NkM2OS44NzcuODEgNzMuMDAzLjA2MSA3Ni4zNyAwaC4wNDJjMy4xODYuMDYxIDYuMjAzLjc3OCA4Ljk2NyAyLjEyOGEyMy43NjMgMjMuNzYzIDAgMDE3LjIxNyA1LjQyNGMyLjAzNyAyLjI1IDMuNjU2IDQuODcgNC44MSA3Ljc4N0EyNS4wNTcgMjUuMDU3IDAgMDE5OS4xNSAyNC42YzAgMi45MTctLjU0IDUuODktMS42IDguODM1YTI1LjQ0MiAyNS40NDIgMCAwMS00LjU4MyA3LjkyN00xMTkuNzgzIDUuMDljLS42Ny0uMTY2LTEuMjYtLjI5My0xLjc1Mi0uMzc1YTczLjE5MiA3My4xOTIgMCAwMC0xLjY4NS0uMjYgMTEuNzE3IDExLjcxNyAwIDAwLTEuNjM4LS4xMmMtMS4zMzcgMC0yLjMyLjQ0NC0zLjAxIDEuMzU2LS43NiAxLjAwNC0xLjEzIDItMS4xMyAzLjA0OXY1OC4zMzdoLTMuOTg2VjguNzRjMC0yLjE5LjY5MS00LjEyNiAyLjA1NS01Ljc1NCAxLjQxMy0xLjY5MSAzLjQyNi0yLjU0NyA1Ljk4My0yLjU0N2EyMCAyMCAwIDAxMi4zNjcuMTM5Yy43NDIuMDg5IDEuNDEuMTc4IDIuMDA2LjI2Ny42MS4wOTIgMS4zMTYuMjMgMi4xLjQxbDEuMzUxLjMxMi0xLjc3NCAzLjc0NnptMTcuMTk1IDQwLjE4M2MtMi4wNzMtMS40NTctMy45MDQtMy4zMDctNS40NzEtNS41MjJ2OC44MzZoLTMuOTg1Vi44NzdoMy45ODVWMzAuNThhMjQuMTYgMjQuMTYgMCAwMDIuMjYgNS40MjYgMTcuMjU0IDE3LjI1NCAwIDAwMy41MzkgNC4zNjIgMTYuOTE1IDE2LjkxNSAwIDAwNC44MSAyLjk1OGMxLjc5OS43MzYgMy44MjggMS4xNjYgNi4wMzIgMS4yNzdsMS4wNi4wNTN2My45MzFoLTEuMTE2Yy00LjI0NyAwLTcuOTg2LTEuMTE1LTExLjExNC0zLjMxNCIgZmlsbD0iIzI0MWYyYiIvPjxwYXRoIGQ9Ik0xOTMuOTExIDkyLjA0MWwtMzMtMzUuNjc3IDQxLjQ3MyAxOS4xMzRhMzMuNDggMzMuNDggMCAwMS04LjQ3MiAxNi41NDNtLTI0LjQ4NSAxMC42MTNjLTQuNTcyIDAtOC45MjgtLjkxNy0xMi45LTIuNTcybC00LjQyOC0zNy4zMTQgMjIuMTI3IDM5LjUzOWEzMy43NTYgMzMuNzU2IDAgMDEtNC44LjM0N20zMy4yODctMjkuMjExTDE2My40MTUgNTEuNDVsMzYuODcgNC4zNzVhMzMuNDU2IDMzLjQ1NiAwIDAxMi40MjggMTcuNjE3bS0xNC40ODgtMzIuMTk0YTMzLjc0OCAzMy43NDggMCAwMTEwLjYxMiAxMS42MTlsLTM0LjU2LTYuODYzem0tMTEuOTc1IDYwLjcxMWwtMTkuMjM4LTQxLjY5NSAzNS42ODUgMzMuMDA2Yy00LjQ3NSA0LjMwNS0xMC4xMzUgNy4zODYtMTYuNDQ4IDguNjg5bS00LjAxNi02Ni4zMzdhMzMuMzcgMzMuMzcgMCAwMTEwLjU0IDIuNjM4bC0xOS4zNTggMi4yOTd6bS0zMy40MTQgNDcuMjU3YTMzLjM2NSAzMy4zNjUgMCAwMS0yLjgzLTEwLjc5Mmw1LjIxNi05LjMyem0xNC43OTggMTUuODIyYTMzLjczNiAzMy43MzYgMCAwMS0xMS44MzItMTAuNTY3bDQuODY3LTI0LjUwNHoiIGZpbGw9IiNkYTM1MjIiLz48L2c+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Solr" camel.apache.org/kamelet.namespace: "Search" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Solr Source" description: Query for documents to Solr Collection. required: - period - servers - collection - query type: object properties: period: title: Period between Polls description: The interval between fetches to the Solr collection type: integer default: 10000 collection: title: Collection description: Solr Collection name type: string servers: title: Servers description: Comma separated list of Solr Servers and ports type: string query: title: Query description: The query to submit to Solr type: string username: title: Username description: Username to connect to Solr. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: Password to connect to Solr. type: string format: password x-descriptors: - urn:camel:group:credentials types: in: mediaType: application/json dependencies: - "camel:solr" - "camel:core" - "camel:timer" - "camel:jackson" - "camel:kamelet" template: from: uri: "timer:solr-stream" parameters: period: "{{period}}" steps: - setHeader: name: "CamelSolrOperation" constant: "QUERY" - setHeader: name: "CamelSolrQueryString" constant: "{{query}}" - setHeader: name: "CamelSolrCollection" constant: "{{collection}}" - removeHeader: name: "content-type" - to: uri: "solr:{{servers}}/solr/" parameters: username: "{{?username}}" password: "{{?password}}" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: splunk-hec-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHJvbGU9ImltZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+U3BsdW5rIGljb248L3RpdGxlPjxwYXRoIGQ9Ik0yMy4zNDggMTEuOTExbC0yLjI0MS0xLjA5MXYtLjY1TDI0IDExLjYyMXYuNTkzbC0yLjg5MyAxLjQzOHYtLjYzNnptLTUuMzk3IDEuODQxaC0uOTYxdi01LjMxaC45NjF2My4xMTZoLjEwMmwxLjI4LTEuNDgxLjcyMy4zMS0xLjIzIDEuMzE2IDEuNDUzIDEuODA5LS44ODguMzExLTEuNDQtMS45OTZ6bS0yLjU3Ny0uMDAydi0yLjA2OGEyLjY4NSAyLjY4NSAwIDAgMC0uMDI2LS40Mi43OTEuNzkxIDAgMCAwLS4wOS0uMjZjLS4xMTMtLjIwMi0uMzA4LS4zMDQtLjU5LS4zMDRhLjg4OC44ODggMCAwIDAtLjQ2MS4xMTMuNjczLjY3MyAwIDAgMC0uMjg2LjMzIDEuMDEyIDEuMDEyIDAgMCAwLS4wNy4yNjNjLS4wMTIuMTMtLjAxOS4yNjItLjAxNy4zOTV2MS45NWgtLjk2MXYtMy42MTRoLjk2MWwuMDAyLjQ4NWMuMTg1LS4yLjM3My0uMzQ4LjU2Ni0uNDM3LjE5Mi0uMDg5LjQxOC0uMTM0LjY3My0uMTM0LjI4NiAwIC41MjcuMDU4LjcyMS4xNzdhMS4wMTYgMS4wMTYgMCAwIDEgLjQ3NS42NjUgMS45NzIgMS45NzIgMCAwIDEgLjA1NC40NDhjLjAwMi4xLjAwNC4yMi4wMDQuMzU4djIuMDUzem0tNC4xMTUuMDAybC0uMDAyLS40ODVhMS43ODMgMS43ODMgMCAwIDEtLjU2NS40MzcgMS41OTcgMS41OTcgMCAwIDEtLjY3NC4xMzVjLS4yODUgMC0uNTI0LS4wNTctLjcyLS4xN2EuOTcyLjk3MiAwIDAgMS0uNDI1LS41MDQuNzUuNzUgMCAwIDEtLjA1NC0uMTY3IDEuOTE4IDEuOTE4IDAgMCAxLS4wMzMtLjE5OSAyLjAzMyAyLjAzMyAwIDAgMS0uMDE3LS4yNTggMTUuNTE2IDE1LjUxNiAwIDAgMS0uMDA1LS4zNTVWMTAuMTNoLjk1NnYyLjA3Yy0uMDAzLjE0MS4wMDYuMjgyLjAyNi40Mi4wMTUuMDkyLjA0NS4xOC4wOS4yNi4xMTMuMjA0LjMwOC4zMDYuNTkuMzA2LjM2IDAgLjYwNi0uMTUuNzQtLjQ0OS4wMzUtLjA4Mi4wNi0uMTY4LjA3NC0uMjU3LjAxNy0uMTM0LjAyNC0uMjY5LjAyMi0uNDAzdi0xLjk1aC45NTV2My42MjR6TTcuMTg0IDguNDRoLjk1NXY1LjMxaC0uOTU1ek01Ljc1OSAxMS45YzAtLjM5Ni0uMDgtLjcwOC0uMjQtLjkzN2EuNzU5Ljc1OSAwIDAgMC0uNjU3LS4zNDUuODA0LjgwNCAwIDAgMC0uNjkzLjM2NmMtLjE3MS4yNDUtLjI1Ni41NzQtLjI1My45OSAwIC40MDUuMDg0LjcyMy4yNS45NTdhLjc5Ni43OTYgMCAwIDAgLjY5LjM0Ny42ODUuNjg1IDAgMCAwIC40MzMtLjEzNS45ODUuOTg1IDAgMCAwIC4yNzctLjM0Yy4wNzEtLjE0LjEyMS0uMjkyLjE0Ny0uNDQ4LjAzLS4xNTEuMDQzLS4zLjA0Ni0uNDU1bTEuMDEtLjAzNmMuMDAzLjI2Ni0uMDQuNTMyLS4xMjkuNzg2LS4wODIuMjMtLjIwNC40NDEtLjM2NC42MjYtLjMxLjM2MS0uNzY0LjU2Ny0xLjI0LjU2M2ExLjY3IDEuNjcgMCAwIDEtLjMxMy0uMDI4IDEuMDQxIDEuMDQxIDAgMCAxLS4yNzUtLjA5OCAxLjMzIDEuMzMgMCAwIDEtLjI1Ny0uMTc4IDIuMzc5IDIuMzc5IDAgMCAxLS4yNjUtLjI2OHYyLjI5M2gtLjkyOXYtNS40MjVoLjkzbC4wMDQuNTI5Yy4xNjktLjIxMi4zNTMtLjM2OC41NS0uNDY4LjE5Ny0uMS40MjYtLjE1LjY4OC0uMTQ3YTEuNTA5IDEuNTA5IDAgMCAxIDEuMTU2LjUwN2MuMTQ4LjE2Ni4yNTkuMzYxLjMzLjU3MS4wOC4yMzYuMTIuNDg1LjExNS43MzdtLTQuMjEuODlhLjk0Ni45NDYgMCAwIDEtLjEwMi40NDEgMS4wMDcgMS4wMDcgMCAwIDEtLjI4Mi4zNDVjLS4xMy4xLS4yNzUuMTczLS40My4yMmExLjggMS44IDAgMCAxLS41NDYuMDggMS45ODUgMS45ODUgMCAwIDEtLjYzNy0uMDk3IDEuOTY0IDEuOTY0IDAgMCAxLS41NjMtLjMybC4zMTItLjUwNWMuMTUuMTI2LjI4NC4yMTcuNDA1LjI3NS4xMTUuMDU3LjI0LjA4Ny4zNjguMDg3YS41NTcuNTU3IDAgMCAwIC4zNzMtLjEyLjM5Ni4zOTYgMCAwIDAgLjE0LS4zMjIuNDc1LjQ3NSAwIDAgMC0uMTItLjMxOCAxLjMwNiAxLjMwNiAwIDAgMC0uMTg3LS4xNzMgOS4yMzEgOS4yMzEgMCAwIDAtLjMwOC0uMjMyIDYuNzg3IDYuNzg3IDAgMCAxLS4yODEtLjIxIDIuMTEgMi4xMSAwIDAgMS0uMjUyLS4yMzIgMS4wMzkgMS4wMzkgMCAwIDEtLjE4LS4yNzUuODI2LjgyNiAwIDAgMS0uMDY5LS4zNDcuODkzLjg5MyAwIDAgMSAuMDk0LS40MDkuOTM1LjkzNSAwIDAgMSAuMjU1LS4zMTQgMS4yMiAxLjIyIDAgMCAxIC4zOS0uMjAzYy4xNi0uMDUuMzI3LS4wNzQuNDk0LS4wNzIuMTg0IDAgLjM2OC4wMjYuNTQ1LjA3Ni4xNzQuMDUuMzM4LjEyMy40ODguMjE5bC0uMjgyLjQ1NGExLjA1IDEuMDUgMCAwIDAtLjYwOC0uMjAxLjUwNC41MDQgMCAwIDAtLjMyMy4xMDIuMzA3LjMwNyAwIDAgMC0uMTI2LjI1M2MwIC4wOTguMDQxLjE5My4xMTMuMjYuMDc0LjA3OC4yMDMuMTg2LjM4NS4zMjUuMTg1LjEzNi4zMzYuMjUzLjQ1Ny4zNTUuMTA0LjA4NS4yMDIuMTgyLjI4Ni4yODYuMDY1LjA4LjExNS4xNzMuMTQ1LjI3M2EuODA4LjgwOCAwIDAgMSAuMDQ2LjI5OVoiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SPLUNK" camel.apache.org/kamelet.namespace: "Monitoring" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Splunk HEC Sink" description: The Splunk HEC sink allows to send data to Splunk using the https://docs.splunk.com/Documentation/Splunk/latest/Data/UsetheHTTPEventCollector[HTTP Event Collector]. required: - splunkUrl - token type: object properties: splunkUrl: title: Splunk URL description: The URL of your Splunk server. No need to set the protocol prefix. type: string example: my_server.splunkcloud.com:8088 token: title: Token description: The Token of the HEC. Note it is not the user's authentication token. type: string format: password x-descriptors: - urn:camel:group:credentials hostPayload: title: Host of the Event description: The host field set in the data sent to Splunk, it is not related to the Splunk URL or the connection to Splunk server. type: string bodyOnly: title: Body Only description: Send to Splunk only data contained in the body. type: boolean default: false headersOnly: title: Headers Only description: Send to Splunk only data contained in the headers. type: boolean default: false index: title: Index description: Splunk index to write to. type: string source: title: Source description: The source named field of the data. type: string sourceType: title: Source Type description: The source named field of the data. type: string skipTlsVerify: title: Skip TLS Verification description: Skip TLS verification. type: boolean default: false https: title: Secure description: Use a secure HTTPS connection. type: boolean default: true time: title: Time description: Time this event occurred. By default, the time is when this event hits the Splunk server. type: string types: in: mediaType: application/json dependencies: - "camel:core" - "camel:splunk-hec" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "splunk-hec:{{splunkUrl}}" parameters: host: "{{?hostPayload}}" token: "{{token}}" bodyOnly: "{{?bodyOnly}}" headersOnly: "{{?headersOnly}}" index: "{{?index}}" source: "{{?source}}" sourceType: "{{?sourceType}}" skipTlsVerify: "{{?skipTlsVerify}}" https: "{{?https}}" time: "{{?time}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: splunk-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHJvbGU9ImltZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+U3BsdW5rIGljb248L3RpdGxlPjxwYXRoIGQ9Ik0yMy4zNDggMTEuOTExbC0yLjI0MS0xLjA5MXYtLjY1TDI0IDExLjYyMXYuNTkzbC0yLjg5MyAxLjQzOHYtLjYzNnptLTUuMzk3IDEuODQxaC0uOTYxdi01LjMxaC45NjF2My4xMTZoLjEwMmwxLjI4LTEuNDgxLjcyMy4zMS0xLjIzIDEuMzE2IDEuNDUzIDEuODA5LS44ODguMzExLTEuNDQtMS45OTZ6bS0yLjU3Ny0uMDAydi0yLjA2OGEyLjY4NSAyLjY4NSAwIDAgMC0uMDI2LS40Mi43OTEuNzkxIDAgMCAwLS4wOS0uMjZjLS4xMTMtLjIwMi0uMzA4LS4zMDQtLjU5LS4zMDRhLjg4OC44ODggMCAwIDAtLjQ2MS4xMTMuNjczLjY3MyAwIDAgMC0uMjg2LjMzIDEuMDEyIDEuMDEyIDAgMCAwLS4wNy4yNjNjLS4wMTIuMTMtLjAxOS4yNjItLjAxNy4zOTV2MS45NWgtLjk2MXYtMy42MTRoLjk2MWwuMDAyLjQ4NWMuMTg1LS4yLjM3My0uMzQ4LjU2Ni0uNDM3LjE5Mi0uMDg5LjQxOC0uMTM0LjY3My0uMTM0LjI4NiAwIC41MjcuMDU4LjcyMS4xNzdhMS4wMTYgMS4wMTYgMCAwIDEgLjQ3NS42NjUgMS45NzIgMS45NzIgMCAwIDEgLjA1NC40NDhjLjAwMi4xLjAwNC4yMi4wMDQuMzU4djIuMDUzem0tNC4xMTUuMDAybC0uMDAyLS40ODVhMS43ODMgMS43ODMgMCAwIDEtLjU2NS40MzcgMS41OTcgMS41OTcgMCAwIDEtLjY3NC4xMzVjLS4yODUgMC0uNTI0LS4wNTctLjcyLS4xN2EuOTcyLjk3MiAwIDAgMS0uNDI1LS41MDQuNzUuNzUgMCAwIDEtLjA1NC0uMTY3IDEuOTE4IDEuOTE4IDAgMCAxLS4wMzMtLjE5OSAyLjAzMyAyLjAzMyAwIDAgMS0uMDE3LS4yNTggMTUuNTE2IDE1LjUxNiAwIDAgMS0uMDA1LS4zNTVWMTAuMTNoLjk1NnYyLjA3Yy0uMDAzLjE0MS4wMDYuMjgyLjAyNi40Mi4wMTUuMDkyLjA0NS4xOC4wOS4yNi4xMTMuMjA0LjMwOC4zMDYuNTkuMzA2LjM2IDAgLjYwNi0uMTUuNzQtLjQ0OS4wMzUtLjA4Mi4wNi0uMTY4LjA3NC0uMjU3LjAxNy0uMTM0LjAyNC0uMjY5LjAyMi0uNDAzdi0xLjk1aC45NTV2My42MjR6TTcuMTg0IDguNDRoLjk1NXY1LjMxaC0uOTU1ek01Ljc1OSAxMS45YzAtLjM5Ni0uMDgtLjcwOC0uMjQtLjkzN2EuNzU5Ljc1OSAwIDAgMC0uNjU3LS4zNDUuODA0LjgwNCAwIDAgMC0uNjkzLjM2NmMtLjE3MS4yNDUtLjI1Ni41NzQtLjI1My45OSAwIC40MDUuMDg0LjcyMy4yNS45NTdhLjc5Ni43OTYgMCAwIDAgLjY5LjM0Ny42ODUuNjg1IDAgMCAwIC40MzMtLjEzNS45ODUuOTg1IDAgMCAwIC4yNzctLjM0Yy4wNzEtLjE0LjEyMS0uMjkyLjE0Ny0uNDQ4LjAzLS4xNTEuMDQzLS4zLjA0Ni0uNDU1bTEuMDEtLjAzNmMuMDAzLjI2Ni0uMDQuNTMyLS4xMjkuNzg2LS4wODIuMjMtLjIwNC40NDEtLjM2NC42MjYtLjMxLjM2MS0uNzY0LjU2Ny0xLjI0LjU2M2ExLjY3IDEuNjcgMCAwIDEtLjMxMy0uMDI4IDEuMDQxIDEuMDQxIDAgMCAxLS4yNzUtLjA5OCAxLjMzIDEuMzMgMCAwIDEtLjI1Ny0uMTc4IDIuMzc5IDIuMzc5IDAgMCAxLS4yNjUtLjI2OHYyLjI5M2gtLjkyOXYtNS40MjVoLjkzbC4wMDQuNTI5Yy4xNjktLjIxMi4zNTMtLjM2OC41NS0uNDY4LjE5Ny0uMS40MjYtLjE1LjY4OC0uMTQ3YTEuNTA5IDEuNTA5IDAgMCAxIDEuMTU2LjUwN2MuMTQ4LjE2Ni4yNTkuMzYxLjMzLjU3MS4wOC4yMzYuMTIuNDg1LjExNS43MzdtLTQuMjEuODlhLjk0Ni45NDYgMCAwIDEtLjEwMi40NDEgMS4wMDcgMS4wMDcgMCAwIDEtLjI4Mi4zNDVjLS4xMy4xLS4yNzUuMTczLS40My4yMmExLjggMS44IDAgMCAxLS41NDYuMDggMS45ODUgMS45ODUgMCAwIDEtLjYzNy0uMDk3IDEuOTY0IDEuOTY0IDAgMCAxLS41NjMtLjMybC4zMTItLjUwNWMuMTUuMTI2LjI4NC4yMTcuNDA1LjI3NS4xMTUuMDU3LjI0LjA4Ny4zNjguMDg3YS41NTcuNTU3IDAgMCAwIC4zNzMtLjEyLjM5Ni4zOTYgMCAwIDAgLjE0LS4zMjIuNDc1LjQ3NSAwIDAgMC0uMTItLjMxOCAxLjMwNiAxLjMwNiAwIDAgMC0uMTg3LS4xNzMgOS4yMzEgOS4yMzEgMCAwIDAtLjMwOC0uMjMyIDYuNzg3IDYuNzg3IDAgMCAxLS4yODEtLjIxIDIuMTEgMi4xMSAwIDAgMS0uMjUyLS4yMzIgMS4wMzkgMS4wMzkgMCAwIDEtLjE4LS4yNzUuODI2LjgyNiAwIDAgMS0uMDY5LS4zNDcuODkzLjg5MyAwIDAgMSAuMDk0LS40MDkuOTM1LjkzNSAwIDAgMSAuMjU1LS4zMTQgMS4yMiAxLjIyIDAgMCAxIC4zOS0uMjAzYy4xNi0uMDUuMzI3LS4wNzQuNDk0LS4wNzIuMTg0IDAgLjM2OC4wMjYuNTQ1LjA3Ni4xNzQuMDUuMzM4LjEyMy40ODguMjE5bC0uMjgyLjQ1NGExLjA1IDEuMDUgMCAwIDAtLjYwOC0uMjAxLjUwNC41MDQgMCAwIDAtLjMyMy4xMDIuMzA3LjMwNyAwIDAgMC0uMTI2LjI1M2MwIC4wOTguMDQxLjE5My4xMTMuMjYuMDc0LjA3OC4yMDMuMTg2LjM4NS4zMjUuMTg1LjEzNi4zMzYuMjUzLjQ1Ny4zNTUuMTA0LjA4NS4yMDIuMTgyLjI4Ni4yODYuMDY1LjA4LjExNS4xNzMuMTQ1LjI3M2EuODA4LjgwOCAwIDAgMSAuMDQ2LjI5OVoiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SPLUNK" camel.apache.org/kamelet.namespace: "Monitoring" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Splunk Sink" description: Send data to Splunk either by using "submit" or "stream" mode. required: - serverHostname - username - password type: object properties: serverHostname: title: Splunk Server Address description: The address of your Splunk server. type: string example: my_server_splunk.com serverPort: title: Splunk Server Port description: The address of your Splunk server. type: integer default: 8089 username: title: Username description: The username to authenticate to Splunk Server. type: string password: title: Password description: The password to authenticate to Splunk Server. type: string format: password x-descriptors: - urn:camel:group:credentials index: title: Index description: Splunk index to write to. type: string protocol: title: Protocol description: Connection Protocol to Splunk server. type: string default: https enum: ["http", "https"] source: title: Source description: The source named field of the data. type: string sourceType: title: Source Type description: The source named field of the data. type: string app: title: Splunk App description: The app name in Splunk. type: string connectionTimeout: title: Connection Timeout description: Timeout in milliseconds when connecting to Splunk server type: integer default: 5000 mode: title: Mode description: The mode to publish events to Splunk. type: string default: stream enum: ["submit", "stream"] types: in: mediaType: application/json dependencies: - "camel:core" - "camel:splunk" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "splunk:{{mode}}" parameters: host: "{{serverHostname}}" port: "{{serverPort}}" username: "{{username}}" password: "{{password}}" source: "{{?source}}" sourceType: "{{?sourceType}}" scheme: "{{?protocol}}" index: "{{?index}}" app: "{{?app}}" connectionTimeout: "{{?connectionTimeout}}" raw: true --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: splunk-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjRweCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHJvbGU9ImltZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48dGl0bGU+U3BsdW5rIGljb248L3RpdGxlPjxwYXRoIGQ9Ik0yMy4zNDggMTEuOTExbC0yLjI0MS0xLjA5MXYtLjY1TDI0IDExLjYyMXYuNTkzbC0yLjg5MyAxLjQzOHYtLjYzNnptLTUuMzk3IDEuODQxaC0uOTYxdi01LjMxaC45NjF2My4xMTZoLjEwMmwxLjI4LTEuNDgxLjcyMy4zMS0xLjIzIDEuMzE2IDEuNDUzIDEuODA5LS44ODguMzExLTEuNDQtMS45OTZ6bS0yLjU3Ny0uMDAydi0yLjA2OGEyLjY4NSAyLjY4NSAwIDAgMC0uMDI2LS40Mi43OTEuNzkxIDAgMCAwLS4wOS0uMjZjLS4xMTMtLjIwMi0uMzA4LS4zMDQtLjU5LS4zMDRhLjg4OC44ODggMCAwIDAtLjQ2MS4xMTMuNjczLjY3MyAwIDAgMC0uMjg2LjMzIDEuMDEyIDEuMDEyIDAgMCAwLS4wNy4yNjNjLS4wMTIuMTMtLjAxOS4yNjItLjAxNy4zOTV2MS45NWgtLjk2MXYtMy42MTRoLjk2MWwuMDAyLjQ4NWMuMTg1LS4yLjM3My0uMzQ4LjU2Ni0uNDM3LjE5Mi0uMDg5LjQxOC0uMTM0LjY3My0uMTM0LjI4NiAwIC41MjcuMDU4LjcyMS4xNzdhMS4wMTYgMS4wMTYgMCAwIDEgLjQ3NS42NjUgMS45NzIgMS45NzIgMCAwIDEgLjA1NC40NDhjLjAwMi4xLjAwNC4yMi4wMDQuMzU4djIuMDUzem0tNC4xMTUuMDAybC0uMDAyLS40ODVhMS43ODMgMS43ODMgMCAwIDEtLjU2NS40MzcgMS41OTcgMS41OTcgMCAwIDEtLjY3NC4xMzVjLS4yODUgMC0uNTI0LS4wNTctLjcyLS4xN2EuOTcyLjk3MiAwIDAgMS0uNDI1LS41MDQuNzUuNzUgMCAwIDEtLjA1NC0uMTY3IDEuOTE4IDEuOTE4IDAgMCAxLS4wMzMtLjE5OSAyLjAzMyAyLjAzMyAwIDAgMS0uMDE3LS4yNTggMTUuNTE2IDE1LjUxNiAwIDAgMS0uMDA1LS4zNTVWMTAuMTNoLjk1NnYyLjA3Yy0uMDAzLjE0MS4wMDYuMjgyLjAyNi40Mi4wMTUuMDkyLjA0NS4xOC4wOS4yNi4xMTMuMjA0LjMwOC4zMDYuNTkuMzA2LjM2IDAgLjYwNi0uMTUuNzQtLjQ0OS4wMzUtLjA4Mi4wNi0uMTY4LjA3NC0uMjU3LjAxNy0uMTM0LjAyNC0uMjY5LjAyMi0uNDAzdi0xLjk1aC45NTV2My42MjR6TTcuMTg0IDguNDRoLjk1NXY1LjMxaC0uOTU1ek01Ljc1OSAxMS45YzAtLjM5Ni0uMDgtLjcwOC0uMjQtLjkzN2EuNzU5Ljc1OSAwIDAgMC0uNjU3LS4zNDUuODA0LjgwNCAwIDAgMC0uNjkzLjM2NmMtLjE3MS4yNDUtLjI1Ni41NzQtLjI1My45OSAwIC40MDUuMDg0LjcyMy4yNS45NTdhLjc5Ni43OTYgMCAwIDAgLjY5LjM0Ny42ODUuNjg1IDAgMCAwIC40MzMtLjEzNS45ODUuOTg1IDAgMCAwIC4yNzctLjM0Yy4wNzEtLjE0LjEyMS0uMjkyLjE0Ny0uNDQ4LjAzLS4xNTEuMDQzLS4zLjA0Ni0uNDU1bTEuMDEtLjAzNmMuMDAzLjI2Ni0uMDQuNTMyLS4xMjkuNzg2LS4wODIuMjMtLjIwNC40NDEtLjM2NC42MjYtLjMxLjM2MS0uNzY0LjU2Ny0xLjI0LjU2M2ExLjY3IDEuNjcgMCAwIDEtLjMxMy0uMDI4IDEuMDQxIDEuMDQxIDAgMCAxLS4yNzUtLjA5OCAxLjMzIDEuMzMgMCAwIDEtLjI1Ny0uMTc4IDIuMzc5IDIuMzc5IDAgMCAxLS4yNjUtLjI2OHYyLjI5M2gtLjkyOXYtNS40MjVoLjkzbC4wMDQuNTI5Yy4xNjktLjIxMi4zNTMtLjM2OC41NS0uNDY4LjE5Ny0uMS40MjYtLjE1LjY4OC0uMTQ3YTEuNTA5IDEuNTA5IDAgMCAxIDEuMTU2LjUwN2MuMTQ4LjE2Ni4yNTkuMzYxLjMzLjU3MS4wOC4yMzYuMTIuNDg1LjExNS43MzdtLTQuMjEuODlhLjk0Ni45NDYgMCAwIDEtLjEwMi40NDEgMS4wMDcgMS4wMDcgMCAwIDEtLjI4Mi4zNDVjLS4xMy4xLS4yNzUuMTczLS40My4yMmExLjggMS44IDAgMCAxLS41NDYuMDggMS45ODUgMS45ODUgMCAwIDEtLjYzNy0uMDk3IDEuOTY0IDEuOTY0IDAgMCAxLS41NjMtLjMybC4zMTItLjUwNWMuMTUuMTI2LjI4NC4yMTcuNDA1LjI3NS4xMTUuMDU3LjI0LjA4Ny4zNjguMDg3YS41NTcuNTU3IDAgMCAwIC4zNzMtLjEyLjM5Ni4zOTYgMCAwIDAgLjE0LS4zMjIuNDc1LjQ3NSAwIDAgMC0uMTItLjMxOCAxLjMwNiAxLjMwNiAwIDAgMC0uMTg3LS4xNzMgOS4yMzEgOS4yMzEgMCAwIDAtLjMwOC0uMjMyIDYuNzg3IDYuNzg3IDAgMCAxLS4yODEtLjIxIDIuMTEgMi4xMSAwIDAgMS0uMjUyLS4yMzIgMS4wMzkgMS4wMzkgMCAwIDEtLjE4LS4yNzUuODI2LjgyNiAwIDAgMS0uMDY5LS4zNDcuODkzLjg5MyAwIDAgMSAuMDk0LS40MDkuOTM1LjkzNSAwIDAgMSAuMjU1LS4zMTQgMS4yMiAxLjIyIDAgMCAxIC4zOS0uMjAzYy4xNi0uMDUuMzI3LS4wNzQuNDk0LS4wNzIuMTg0IDAgLjM2OC4wMjYuNTQ1LjA3Ni4xNzQuMDUuMzM4LjEyMy40ODguMjE5bC0uMjgyLjQ1NGExLjA1IDEuMDUgMCAwIDAtLjYwOC0uMjAxLjUwNC41MDQgMCAwIDAtLjMyMy4xMDIuMzA3LjMwNyAwIDAgMC0uMTI2LjI1M2MwIC4wOTguMDQxLjE5My4xMTMuMjYuMDc0LjA3OC4yMDMuMTg2LjM4NS4zMjUuMTg1LjEzNi4zMzYuMjUzLjQ1Ny4zNTUuMTA0LjA4NS4yMDIuMTgyLjI4Ni4yODYuMDY1LjA4LjExNS4xNzMuMTQ1LjI3M2EuODA4LjgwOCAwIDAgMSAuMDQ2LjI5OVoiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SPLUNK" camel.apache.org/kamelet.namespace: "Monitoring" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Splunk Source" description: Retrieve data from Splunk and outputs in json format. required: - serverHostname - username - password - query - initEarliestTime type: object properties: serverHostname: title: Splunk Server Address description: The address of your Splunk server. type: string example: my_server_splunk.com serverPort: title: Splunk Server Port description: The address of your Splunk server. type: integer default: 8089 username: title: Username description: The username to authenticate to Splunk Server. type: string password: title: Password description: The password to authenticate to Splunk Server. type: string format: password x-descriptors: - urn:camel:group:credentials index: title: Index description: Splunk index to write to. type: string protocol: title: Protocol description: Connection Protocol to Splunk server. type: string default: https enum: ["http", "https"] source: title: Source description: The source named field of the data. type: string sourceType: title: Source Type description: The source named field of the data. type: string app: title: Splunk App description: The app name in Splunk. type: string connectionTimeout: title: Connection Timeout description: Timeout in milliseconds when connecting to Splunk server type: integer count: title: Count description: The maximum number of entities to return. type: integer repeat: title: Repeat description: The maximum number of fires. type: integer delay: title: Delay description: The number of milliseconds before the next poll. type: integer query: title: Query description: The Splunk query to run. type: string earliestTime: title: Earliest Time description: Earliest time of the search time window. type: string example: "05/17/22 08:35:46:456" initEarliestTime: title: Init Earliest Time description: Initial start offset of the first search. type: string example: "05/17/22 08:35:46:456" latestTime: title: Latest Time description: Latest time of the search time window. type: string example: "05/17/22 08:35:46:456" types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:core" - "camel:splunk" - "camel:kamelet" - "mvn:com.fasterxml.jackson.datatype:jackson-datatype-joda:2.12.5" template: from: uri: "splunk:normal" parameters: host: "{{serverHostname}}" port: "{{serverPort}}" username: "{{username}}" password: "{{password}}" index: "{{?index}}" scheme: "{{?protocol}}" source: "{{?source}}" sourceType: "{{?sourceType}}" app: "{{?app}}" connectionTimeout: "{{?connectionTimeout}}" count: "{{?count}}" repeatCount: "{{?repeat}}" delay: "{{?delay}}" search: "{{?query}}" earliestTime: "{{?earliestTime}}" initEarliestTime: "{{initEarliestTime}}" latestTime: "{{?latestTime}}" raw: true steps: - marshal: json: library: Jackson moduleClassNames: com.fasterxml.jackson.datatype.joda.JodaModule - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: spring-rabbitmq-sink annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjcxcHgiIGhlaWdodD0iMjcxcHgiIHZpZXdCb3g9Ii03LjUgMCAyNzEgMjcxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj48cGF0aCBkPSJNMjQ1LjQ0IDEwOC4zMDhoLTg1LjA5YTcuNzM4IDcuNzM4IDAgMCAxLTcuNzM1LTcuNzM0di04OC42OEMxNTIuNjE1IDUuMzI3IDE0Ny4yOSAwIDE0MC43MjYgMGgtMzAuMzc1Yy02LjU2OCAwLTExLjg5IDUuMzI3LTExLjg5IDExLjg5NHY4OC4xNDNjMCA0LjU3My0zLjY5NyA4LjI5LTguMjcgOC4zMWwtMjcuODg1LjEzM2MtNC42MTIuMDI1LTguMzU5LTMuNzE3LTguMzUtOC4zMjVsLjE3My04OC4yNDFDNTQuMTQ0IDUuMzM3IDQ4LjgxNyAwIDQyLjI0IDBIMTEuODlDNS4zMjEgMCAwIDUuMzI3IDAgMTEuODk0VjI2MC4yMWMwIDUuODM0IDQuNzI2IDEwLjU2IDEwLjU1NSAxMC41NkgyNDUuNDRjNS44MzQgMCAxMC41Ni00LjcyNiAxMC41Ni0xMC41NlYxMTguODY4YzAtNS44MzQtNC43MjYtMTAuNTYtMTAuNTYtMTAuNTZ6bS0zOS45MDIgOTMuMjMzYzAgNy42NDUtNi4xOTggMTMuODQ0LTEzLjg0MyAxMy44NDRIMTY3LjY5Yy03LjY0NiAwLTEzLjg0NC02LjE5OS0xMy44NDQtMTMuODQ0di0yNC4wMDVjMC03LjY0NiA2LjE5OC0xMy44NDQgMTMuODQ0LTEzLjg0NGgyNC4wMDVjNy42NDUgMCAxMy44NDMgNi4xOTggMTMuODQzIDEzLjg0NHYyNC4wMDV6IiBmaWxsPSIjRjYwIi8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "RabbitMQ" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "RabbitMQ Sink" description: Send data to a RabbitMQ Broker. required: - host - port - exchangeName type: object properties: host: title: Server Address description: RabbitMQ broker address type: string example: "localhost" port: title: Server Port description: RabbitMQ broker port type: integer example: 5672 routingKey: title: Routing Key description: The routing key to use when binding a consumer queue to the exchange type: string username: title: Username description: The username to access the RabbitMQ server type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the RabbitMQ server type: string format: password x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password - urn:camel:group:credentials exchangeName: title: Exchange name description: The exchange name determines the exchange the queue is bound to. type: string queues: title: Queue name description: The queue to receive messages from type: string autoDeclareProducer: title: Auto Declare Producer description: Specifies whether the producer should auto declare binding between exchange, queue and routing key when starting type: boolean default: false vhost: title: Virtual Host description: The virtual host type: string default: "/" protocol: title: Protocol description: The AMQP protocol to use. type: string enum: ["amqp", "amqps"] default: "amqp" dependencies: - "camel:spring-rabbitmq" - "camel:kamelet" template: beans: - name: connectionFactory type: "#class:org.springframework.amqp.rabbit.connection.CachingConnectionFactory" properties: username: '{{?username}}' password: '{{?password}}' uri: '{{protocol}}://{{host}}:{{port}}' virtualHost: "{{vhost}}" from: uri: "kamelet:source" steps: - to: uri: "spring-rabbitmq://{{exchangeName}}" parameters: connectionFactory: "#bean:{{connectionFactory}}" routingKey: "{{?routingKey}}" queues: "{{?queues}}" autoDeclareProducer: "{{autoDeclareProducer}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: spring-rabbitmq-source annotations: camel.apache.org/kamelet.support.level: "Preview" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjcxcHgiIGhlaWdodD0iMjcxcHgiIHZpZXdCb3g9Ii03LjUgMCAyNzEgMjcxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIj48cGF0aCBkPSJNMjQ1LjQ0IDEwOC4zMDhoLTg1LjA5YTcuNzM4IDcuNzM4IDAgMCAxLTcuNzM1LTcuNzM0di04OC42OEMxNTIuNjE1IDUuMzI3IDE0Ny4yOSAwIDE0MC43MjYgMGgtMzAuMzc1Yy02LjU2OCAwLTExLjg5IDUuMzI3LTExLjg5IDExLjg5NHY4OC4xNDNjMCA0LjU3My0zLjY5NyA4LjI5LTguMjcgOC4zMWwtMjcuODg1LjEzM2MtNC42MTIuMDI1LTguMzU5LTMuNzE3LTguMzUtOC4zMjVsLjE3My04OC4yNDFDNTQuMTQ0IDUuMzM3IDQ4LjgxNyAwIDQyLjI0IDBIMTEuODlDNS4zMjEgMCAwIDUuMzI3IDAgMTEuODk0VjI2MC4yMWMwIDUuODM0IDQuNzI2IDEwLjU2IDEwLjU1NSAxMC41NkgyNDUuNDRjNS44MzQgMCAxMC41Ni00LjcyNiAxMC41Ni0xMC41NlYxMTguODY4YzAtNS44MzQtNC43MjYtMTAuNTYtMTAuNTYtMTAuNTZ6bS0zOS45MDIgOTMuMjMzYzAgNy42NDUtNi4xOTggMTMuODQ0LTEzLjg0MyAxMy44NDRIMTY3LjY5Yy03LjY0NiAwLTEzLjg0NC02LjE5OS0xMy44NDQtMTMuODQ0di0yNC4wMDVjMC03LjY0NiA2LjE5OC0xMy44NDQgMTMuODQ0LTEzLjg0NGgyNC4wMDVjNy42NDUgMCAxMy44NDMgNi4xOTggMTMuODQzIDEzLjg0NHYyNC4wMDV6IiBmaWxsPSIjRjYwIi8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "RabbitMQ" camel.apache.org/kamelet.namespace: "Messaging" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "RabbitMQ Source" description: Receive data from a RabbitMQ Broker. required: - host - port - exchangeName type: object properties: host: title: Server Address description: RabbitMQ broker address type: string example: "localhost" port: title: Server Port description: RabbitMQ broker port type: integer example: 5672 routingKey: title: Routing Key description: The routing key to use when binding a consumer queue to the exchange type: string username: title: Username description: The username to access the RabbitMQ server type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access the RabbitMQ server type: string format: password x-descriptors: - urn:alm:descriptor:com.tectonic.ui:password - urn:camel:group:credentials exchangeName: title: Exchange name description: The exchange name determines the exchange the queue is bound to. type: string queues: title: Queue name description: The queue to receive messages from type: string autoDeclare: title: Auto Declare description: The routing key to use when binding a consumer queue to the exchange type: boolean default: false vhost: title: Virtual Host description: The virtual host type: string default: "/" protocol: title: Protocol description: The AMQP protocol to use. type: string enum: ["amqp", "amqps"] default: "amqp" dependencies: - "camel:spring-rabbitmq" - "camel:kamelet" template: beans: - name: connectionFactory type: "#class:org.springframework.amqp.rabbit.connection.CachingConnectionFactory" properties: username: '{{?username}}' password: '{{?password}}' uri: '{{protocol}}://{{host}}:{{port}}' virtualHost: "{{vhost}}" from: uri: "spring-rabbitmq://{{exchangeName}}" parameters: connectionFactory: "#bean:{{connectionFactory}}" routingKey: "{{?routingKey}}" queues: "{{?queues}}" autoDeclare: "{{autoDeclare}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: sqlserver-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PHBhdGggZD0iTTQyNi45LDkwYzEwLjMsMC0yMS43LTgwLTIxLjctODBTMjkxLjksNjAuMywyODUuMSw2NkMyNzguMiw3MS44LDQxNi42LDkwLDQyNi45LDkweiIvPjxwYXRoIGQ9Ik0zNTYuOSwxNDkuNWw3Mi00NC42Yy0xNy40LDIuMy0xNTguNy0yOS43LTE1OC43LTI5LjdjMi4zLDYuOSw2OC42LDc0LjMsNjguNiw3NC4zTDM1Ni45LDE0OS41TDM1Ni45LDE0OS41eiIvPjxwYXRoIGQ9Ik00NjEuMiwxNjYuN2wtMjAuNi00OS4ybC01OS41LDM2LjZMNDYxLjIsMTY2LjdMNDYxLjIsMTY2Ljd6Ii8+PHBhdGggZD0iTTMwNi44LDE0Mi4xbC01MC4zLTU4LjljMCwwLTQwLDI3LjQtMzQuMywzNC4zQzIyNy45LDEyNC40LDMwNi44LDE0Mi4xLDMwNi44LDE0Mi4xTDMwNi44LDE0Mi4xeiIvPjxwYXRoIGQ9Ik0yNDguNSwxNDkuNWMyMC42LDE0LjksNjguNiw3Ny44LDY4LjYsNzcuOGwtMTguMy02MC42TDI0OC41LDE0OS41TDI0OC41LDE0OS41eiIvPjxwYXRoIGQ9Ik0zMzguOCwyNDQuNGw4Mi4zLTYxLjhsLTEwOS44LTE2QzMxMS40LDE2Ni43LDMzOC44LDIzMC43LDMzOC44LDI0NC40TDMzOC44LDI0NC40eiIvPjxwYXRoIGQ9Ik00MzMuNywxODguNGwtNzYuOSw2Ni4zYzIxLjUsNC42LDkxLjcsMzAuOSw5MS43LDMwLjlDNDUzLjIsMjEwLjEsNDMzLjcsMTg4LjQsNDMzLjcsMTg4LjRMNDMzLjcsMTg4LjR6Ii8+PHBhdGggZD0iTTQ2MS4yLDI4Mi4yYzAsMCwxMTIuMS02Mi45LDEyMC4xLTY2LjNsLTEzMi0yNy40QzQ0OS4zLDE4OC40LDQ3OC4zLDIyOS42LDQ2MS4yLDI4Mi4yTDQ2MS4yLDI4Mi4yeiIvPjxwYXRoIGQ9Ik01NjEuOCwzMzdjNDMuNS03NC4zLDQzLjUtMTE2LjYsNDMuNS0xMTYuNmwtMTIwLjQsNzcuOEM1MDUuMiwzMDMuOSw1NjEuOCwzMzcsNTYxLjgsMzM3TDU2MS44LDMzN3oiLz48cGF0aCBkPSJNNTg5LjMsMzM3YzU3LjItMjkuNywxODAuNy02NCwxODAuNy02NGMtMjYuMy0xOC4zLTE0OS44LTUyLjYtMTQ5LjgtNTIuNkM2MjEuMywyMzcuNiw1ODkuMywzMzcsNTg5LjMsMzM3TDU4OS4zLDMzN3oiLz48cGF0aCBkPSJNNTg5LjMsMzUzLjFjMzcuNCwyMS43LDc2LjYsODQuNiw3Ni42LDg0LjZjNzItNzAuOSwxMTUuNS0xNTIuMSwxMTUuNS0xNTIuMUM3NjQuMiwyODYuNyw1ODkuMywzNTMuMSw1ODkuMywzNTMuMUw1ODkuMywzNTMuMXoiLz48cGF0aCBkPSJNODAwLjgsMjg1LjZDNzgzLjcsMzMxLjMsNjk2LjgsNDMyLDY5Ni44LDQzMmM0NC42LTE4LjMsMjM2LjctMzQuMywyMzYuNy0zNC4zQzkxNi4zLDM2Mi4yLDgwMC44LDI4NS42LDgwMC44LDI4NS42TDgwMC44LDI4NS42eiIvPjxwYXRoIGQ9Ik00MjguOSwzMTEuOWMtMjQuMy0xNi03OS40LTI5LjctNzkuNC0yOS43YzYuMiwzLjQsNy4zLDk4LjMsNy4zLDk4LjNDMzg0LjEsMzU1LjMsNDI4LjksMzExLjksNDI4LjksMzExLjlMNDI4LjksMzExLjl6Ii8+PHBhdGggZD0iTTQzOS41LDMzMS4zYy04LDYuOS04Mi42LDY4LjYtODIuNiw2OC42YzEyLjMsOCw0MC4zLDMyLDQwLjMsMzJDNDI2LjksMzk0LjIsNDM5LjUsMzMxLjMsNDM5LjUsMzMxLjNMNDM5LjUsMzMxLjN6Ii8+PHBhdGggZD0iTTQ2MS4yLDMxOS45YzEuMSwxNy4yLTI2LjMsOTIuNi0yNi4zLDkyLjZsOTguMy01My43TDQ2MS4yLDMxOS45TDQ2MS4yLDMxOS45eiIvPjxwYXRoIGQ9Ik00MDguNiw0NDkuMWMxMS40LDkuMSwyMC4zLDY3LjUsMjAuMyw2Ny41YzEwLTE0LjksMTA0LjMtMTM0LjksMTA0LjMtMTM0LjlDNDU4LjksNDI1LjEsNDA4LjYsNDQ5LjEsNDA4LjYsNDQ5LjF6Ii8+PHBhdGggZD0iTTU2MS44LDM4MC41Yy01LjcsMTMuNy0xMDYuMywxMjUuOC0xMDYuMywxMjUuOGMyNi41LTEwLjMsMTkxLTYxLjgsMTkxLTYxLjhDNjI0LjcsNDExLjQsNTYxLjgsMzgwLjUsNTYxLjgsMzgwLjVMNTYxLjgsMzgwLjV6Ii8+PHBhdGggZD0iTTM4OS4yLDQ3NC4zYy03LjksMTMuNy0xNDYuNSwxMjguMS0xNDYuNSwxMjguMWMyMS43LTE0LjksMTY1LjgtODAsMTY1LjgtODBDNDEwLjksNDg4LDM4OS4yLDQ3NC4zLDM4OS4yLDQ3NC4zTDM4OS4yLDQ3NC4zeiIvPjxwYXRoIGQ9Ik0zMTEuNCw0OTUuOGMyNy40LTE3LjMsNjAuNi00Ni43LDYwLjYtNDYuN2MtOS4xLTExLjQtMjguNi0xNy4yLTI4LjYtMTcuMkMzNDIuMyw0NDIuMywzMTEuNCw0OTUuOCwzMTEuNCw0OTUuOHoiLz48cGF0aCBkPSJNMzY2LjMsNDgyLjNjLTQ5LjQsMjEuMS05MS41LDYwLTkxLjUsNjBsLTQ1LjcsNjBMMzY2LjMsNDgyLjNMMzY2LjMsNDgyLjN6Ii8+PHBhdGggZD0iTTU2NC4xLDQ5NS44bC04OC4xLDI5LjljMCwwLDY4LjYsNDEuMiw5My44LDUxLjVDNTY5LjgsNTc3LjIsNTcyLjEsNTI2LjUsNTY0LjEsNDk1LjhMNTY0LjEsNDk1Ljh6Ii8+PHBhdGggZD0iTTU2MS44LDU5MC45TDQ2MCw1MzAuM2MwLDAsMy43LDg2LjktMTAuNywxMjEuMkM0NDkuMyw2NTEuNSw1NDcsNjA1LjgsNTYxLjgsNTkwLjlMNTYxLjgsNTkwLjl6Ii8+PHBhdGggZD0iTTQ0OS4zLDY3MWMwLDAsNTUuMyw0Mi4zLDEwNi44LDU0LjljMCwwLDIxLjItNTcuMiwxNC0xMTguOUM1NzAuMSw2MDYuOSw0NzQsNjY0LjEsNDQ5LjMsNjcxTDQ0OS4zLDY3MXoiLz48cGF0aCBkPSJNNDM0LjksNTM4LjNsLTc4LDMyYzI0LjcsNTguMiw2NC4zLDgxLjIsNjQuMyw4MS4yQzQ0Ni4zLDU5Mi4xLDQzNC45LDUzOC4zLDQzNC45LDUzOC4zTDQzNC45LDUzOC4zeiIvPjxwYXRoIGQ9Ik0zNDEuNyw1NzcuMmMyLjksMTQuOS03NiwxNDguNy03NiwxNDguN2MxMDAuNi0zMC45LDE0My4xLTU5LjUsMTQzLjEtNTkuNUMzNTAuNiw2MTMuOCwzNDEuNyw1NzcuMiwzNDEuNyw1NzcuMkwzNDEuNyw1NzcuMnoiLz48cGF0aCBkPSJNMzA0LjUsNTkwLjljLTEzLjcsNC42LTgzLjUsNDEuMi04My41LDQxLjJjMi4zLDY3LjUsMTcuMiw4NS44LDE3LjIsODUuOEMyNzEuNCw2ODQuNywzMDQuNSw1OTAuOSwzMDQuNSw1OTAuOUwzMDQuNSw1OTAuOXoiLz48cGF0aCBkPSJNMTkyLjUsNjQ0LjdDODAuNCw2OTguNCw2Ni43LDc3OS42LDY2LjcsNzc5LjZjMjAuNiwwLDE0OC43LTQwLDE0OC43LTQwQzE5MC4yLDY4MS4yLDE5Mi41LDY0NC43LDE5Mi41LDY0NC43TDE5Mi41LDY0NC43eiIvPjxwYXRoIGQ9Ik02Ni43LDc4OS45YzAsMC01LjcsNTEuNSw1Ny4yLDk0LjljMCwwLDgwLTEwNC4xLDg1LjgtMTI0LjZDMjA5LjYsNzYwLjIsMTA0LjQsNzg5LjksNjYuNyw3ODkuOUw2Ni43LDc4OS45eiIvPjxwYXRoIGQ9Ik0yMjkuMSw3NjdMMTMzLDg5MC41bDUuMSw2LjlsMTc5LTY1LjJDMjcxLjQsODA3LDIyOS4xLDc2NywyMjkuMSw3NjdMMjI5LjEsNzY3eiIvPjxwYXRoIGQ9Ik0xNDksODk5LjdjNDIuMywzOC45LDExNi42LDQ5LjIsMTE2LjYsNDkuMmw2NS4yLTk4LjNMMTQ5LDg5OS43TDE0OSw4OTkuN3oiLz48cGF0aCBkPSJNMzU2LjksODUwLjVjMC45LDYuOS04Mi4xLDEwNy4zLTgyLjEsMTA3LjNjNTIuNi0yLjUsMjM1LjctNzMsMjM1LjctNzNDNDMyLjgsODgzLjYsMzU2LjksODUwLjUsMzU2LjksODUwLjV6Ii8+PHBhdGggZD0iTTQ3Ni4xLDk5MGMxMS40LTEzLjcsMzkuMi05Mi42LDM5LjItOTIuNmMtOTIuMywzOC45LTIwMy45LDYwLjQtMjAzLjksNjAuNEMzNDguNyw5NzkuNCw0NzYuMSw5OTAsNDc2LjEsOTkwTDQ3Ni4xLDk5MHoiLz48cGF0aCBkPSJNMzQ5LjYsODIyLjVjMzcuOC01Ni44LDUzLjUtMTI5LjgsNTMuNS0xMjkuOGMtMTQuNiwxMC4zLTE0OC45LDU0LjktMTQ4LjksNTQuOUMyOTQuMiw4MDAuMiwzNDkuNiw4MjIuNSwzNDkuNiw4MjIuNUwzNDkuNiw4MjIuNXoiLz48cGF0aCBkPSJNMzc3LjcsODA4LjJjMjguNiwxLjEsMTczLjItNjkuOCwxNzMuMi02OS44Yy0zMS40LTYuOS0xMTYuMS01MS41LTExNi4xLTUxLjVMMzc3LjcsODA4LjJMMzc3LjcsODA4LjJ6Ii8+PHBhdGggZD0iTTM2Ni4zLDgzMi4yYzIwLjYsMjQsMTQ5LDQ2LjksMTQ5LDQ2LjljMjEuNC0yNi45LDM1LjctMTMxLjUsMzUuNy0xMzEuNUM1NDQuNyw3NjAuMiwzNjYuMyw4MzIuMiwzNjYuMyw4MzIuMkwzNjYuMyw4MzIuMnoiLz48L2c+DQo8L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Microsoft SQL Server Sink" description: Send data to a Microsoft SQL Server Database. This Kamelet expects a JSON-formatted body. Use key:value pairs to map the JSON fields and parameters. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 1433 username: title: Username description: The username to access a secured SQL Server Database. type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured SQL Server Database. type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the SQL Server Database. type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the SQL Server Database. type: string encrypt: title: Encrypt Connection description: Encrypt the connection to SQL Server. type: boolean default: false trustServerCertificate: title: Trust Server Certificate description: Trust Server Certificate type: boolean default: true types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sqlserver-sink type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:sqlserver://{{serverName}}:{{serverPort}};databaseName={{databaseName}};encrypt={{encrypt}};trustServerCertificate={{trustServerCertificate}};' driverClassName: 'com.microsoft.sqlserver.jdbc.SQLServerDriver' from: uri: "kamelet:source" steps: - unmarshal: json: library: Jackson - to: uri: "{{local-sqlserver-sink}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: sqlserver-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PHBhdGggZD0iTTQyNi45LDkwYzEwLjMsMC0yMS43LTgwLTIxLjctODBTMjkxLjksNjAuMywyODUuMSw2NkMyNzguMiw3MS44LDQxNi42LDkwLDQyNi45LDkweiIvPjxwYXRoIGQ9Ik0zNTYuOSwxNDkuNWw3Mi00NC42Yy0xNy40LDIuMy0xNTguNy0yOS43LTE1OC43LTI5LjdjMi4zLDYuOSw2OC42LDc0LjMsNjguNiw3NC4zTDM1Ni45LDE0OS41TDM1Ni45LDE0OS41eiIvPjxwYXRoIGQ9Ik00NjEuMiwxNjYuN2wtMjAuNi00OS4ybC01OS41LDM2LjZMNDYxLjIsMTY2LjdMNDYxLjIsMTY2Ljd6Ii8+PHBhdGggZD0iTTMwNi44LDE0Mi4xbC01MC4zLTU4LjljMCwwLTQwLDI3LjQtMzQuMywzNC4zQzIyNy45LDEyNC40LDMwNi44LDE0Mi4xLDMwNi44LDE0Mi4xTDMwNi44LDE0Mi4xeiIvPjxwYXRoIGQ9Ik0yNDguNSwxNDkuNWMyMC42LDE0LjksNjguNiw3Ny44LDY4LjYsNzcuOGwtMTguMy02MC42TDI0OC41LDE0OS41TDI0OC41LDE0OS41eiIvPjxwYXRoIGQ9Ik0zMzguOCwyNDQuNGw4Mi4zLTYxLjhsLTEwOS44LTE2QzMxMS40LDE2Ni43LDMzOC44LDIzMC43LDMzOC44LDI0NC40TDMzOC44LDI0NC40eiIvPjxwYXRoIGQ9Ik00MzMuNywxODguNGwtNzYuOSw2Ni4zYzIxLjUsNC42LDkxLjcsMzAuOSw5MS43LDMwLjlDNDUzLjIsMjEwLjEsNDMzLjcsMTg4LjQsNDMzLjcsMTg4LjRMNDMzLjcsMTg4LjR6Ii8+PHBhdGggZD0iTTQ2MS4yLDI4Mi4yYzAsMCwxMTIuMS02Mi45LDEyMC4xLTY2LjNsLTEzMi0yNy40QzQ0OS4zLDE4OC40LDQ3OC4zLDIyOS42LDQ2MS4yLDI4Mi4yTDQ2MS4yLDI4Mi4yeiIvPjxwYXRoIGQ9Ik01NjEuOCwzMzdjNDMuNS03NC4zLDQzLjUtMTE2LjYsNDMuNS0xMTYuNmwtMTIwLjQsNzcuOEM1MDUuMiwzMDMuOSw1NjEuOCwzMzcsNTYxLjgsMzM3TDU2MS44LDMzN3oiLz48cGF0aCBkPSJNNTg5LjMsMzM3YzU3LjItMjkuNywxODAuNy02NCwxODAuNy02NGMtMjYuMy0xOC4zLTE0OS44LTUyLjYtMTQ5LjgtNTIuNkM2MjEuMywyMzcuNiw1ODkuMywzMzcsNTg5LjMsMzM3TDU4OS4zLDMzN3oiLz48cGF0aCBkPSJNNTg5LjMsMzUzLjFjMzcuNCwyMS43LDc2LjYsODQuNiw3Ni42LDg0LjZjNzItNzAuOSwxMTUuNS0xNTIuMSwxMTUuNS0xNTIuMUM3NjQuMiwyODYuNyw1ODkuMywzNTMuMSw1ODkuMywzNTMuMUw1ODkuMywzNTMuMXoiLz48cGF0aCBkPSJNODAwLjgsMjg1LjZDNzgzLjcsMzMxLjMsNjk2LjgsNDMyLDY5Ni44LDQzMmM0NC42LTE4LjMsMjM2LjctMzQuMywyMzYuNy0zNC4zQzkxNi4zLDM2Mi4yLDgwMC44LDI4NS42LDgwMC44LDI4NS42TDgwMC44LDI4NS42eiIvPjxwYXRoIGQ9Ik00MjguOSwzMTEuOWMtMjQuMy0xNi03OS40LTI5LjctNzkuNC0yOS43YzYuMiwzLjQsNy4zLDk4LjMsNy4zLDk4LjNDMzg0LjEsMzU1LjMsNDI4LjksMzExLjksNDI4LjksMzExLjlMNDI4LjksMzExLjl6Ii8+PHBhdGggZD0iTTQzOS41LDMzMS4zYy04LDYuOS04Mi42LDY4LjYtODIuNiw2OC42YzEyLjMsOCw0MC4zLDMyLDQwLjMsMzJDNDI2LjksMzk0LjIsNDM5LjUsMzMxLjMsNDM5LjUsMzMxLjNMNDM5LjUsMzMxLjN6Ii8+PHBhdGggZD0iTTQ2MS4yLDMxOS45YzEuMSwxNy4yLTI2LjMsOTIuNi0yNi4zLDkyLjZsOTguMy01My43TDQ2MS4yLDMxOS45TDQ2MS4yLDMxOS45eiIvPjxwYXRoIGQ9Ik00MDguNiw0NDkuMWMxMS40LDkuMSwyMC4zLDY3LjUsMjAuMyw2Ny41YzEwLTE0LjksMTA0LjMtMTM0LjksMTA0LjMtMTM0LjlDNDU4LjksNDI1LjEsNDA4LjYsNDQ5LjEsNDA4LjYsNDQ5LjF6Ii8+PHBhdGggZD0iTTU2MS44LDM4MC41Yy01LjcsMTMuNy0xMDYuMywxMjUuOC0xMDYuMywxMjUuOGMyNi41LTEwLjMsMTkxLTYxLjgsMTkxLTYxLjhDNjI0LjcsNDExLjQsNTYxLjgsMzgwLjUsNTYxLjgsMzgwLjVMNTYxLjgsMzgwLjV6Ii8+PHBhdGggZD0iTTM4OS4yLDQ3NC4zYy03LjksMTMuNy0xNDYuNSwxMjguMS0xNDYuNSwxMjguMWMyMS43LTE0LjksMTY1LjgtODAsMTY1LjgtODBDNDEwLjksNDg4LDM4OS4yLDQ3NC4zLDM4OS4yLDQ3NC4zTDM4OS4yLDQ3NC4zeiIvPjxwYXRoIGQ9Ik0zMTEuNCw0OTUuOGMyNy40LTE3LjMsNjAuNi00Ni43LDYwLjYtNDYuN2MtOS4xLTExLjQtMjguNi0xNy4yLTI4LjYtMTcuMkMzNDIuMyw0NDIuMywzMTEuNCw0OTUuOCwzMTEuNCw0OTUuOHoiLz48cGF0aCBkPSJNMzY2LjMsNDgyLjNjLTQ5LjQsMjEuMS05MS41LDYwLTkxLjUsNjBsLTQ1LjcsNjBMMzY2LjMsNDgyLjNMMzY2LjMsNDgyLjN6Ii8+PHBhdGggZD0iTTU2NC4xLDQ5NS44bC04OC4xLDI5LjljMCwwLDY4LjYsNDEuMiw5My44LDUxLjVDNTY5LjgsNTc3LjIsNTcyLjEsNTI2LjUsNTY0LjEsNDk1LjhMNTY0LjEsNDk1Ljh6Ii8+PHBhdGggZD0iTTU2MS44LDU5MC45TDQ2MCw1MzAuM2MwLDAsMy43LDg2LjktMTAuNywxMjEuMkM0NDkuMyw2NTEuNSw1NDcsNjA1LjgsNTYxLjgsNTkwLjlMNTYxLjgsNTkwLjl6Ii8+PHBhdGggZD0iTTQ0OS4zLDY3MWMwLDAsNTUuMyw0Mi4zLDEwNi44LDU0LjljMCwwLDIxLjItNTcuMiwxNC0xMTguOUM1NzAuMSw2MDYuOSw0NzQsNjY0LjEsNDQ5LjMsNjcxTDQ0OS4zLDY3MXoiLz48cGF0aCBkPSJNNDM0LjksNTM4LjNsLTc4LDMyYzI0LjcsNTguMiw2NC4zLDgxLjIsNjQuMyw4MS4yQzQ0Ni4zLDU5Mi4xLDQzNC45LDUzOC4zLDQzNC45LDUzOC4zTDQzNC45LDUzOC4zeiIvPjxwYXRoIGQ9Ik0zNDEuNyw1NzcuMmMyLjksMTQuOS03NiwxNDguNy03NiwxNDguN2MxMDAuNi0zMC45LDE0My4xLTU5LjUsMTQzLjEtNTkuNUMzNTAuNiw2MTMuOCwzNDEuNyw1NzcuMiwzNDEuNyw1NzcuMkwzNDEuNyw1NzcuMnoiLz48cGF0aCBkPSJNMzA0LjUsNTkwLjljLTEzLjcsNC42LTgzLjUsNDEuMi04My41LDQxLjJjMi4zLDY3LjUsMTcuMiw4NS44LDE3LjIsODUuOEMyNzEuNCw2ODQuNywzMDQuNSw1OTAuOSwzMDQuNSw1OTAuOUwzMDQuNSw1OTAuOXoiLz48cGF0aCBkPSJNMTkyLjUsNjQ0LjdDODAuNCw2OTguNCw2Ni43LDc3OS42LDY2LjcsNzc5LjZjMjAuNiwwLDE0OC43LTQwLDE0OC43LTQwQzE5MC4yLDY4MS4yLDE5Mi41LDY0NC43LDE5Mi41LDY0NC43TDE5Mi41LDY0NC43eiIvPjxwYXRoIGQ9Ik02Ni43LDc4OS45YzAsMC01LjcsNTEuNSw1Ny4yLDk0LjljMCwwLDgwLTEwNC4xLDg1LjgtMTI0LjZDMjA5LjYsNzYwLjIsMTA0LjQsNzg5LjksNjYuNyw3ODkuOUw2Ni43LDc4OS45eiIvPjxwYXRoIGQ9Ik0yMjkuMSw3NjdMMTMzLDg5MC41bDUuMSw2LjlsMTc5LTY1LjJDMjcxLjQsODA3LDIyOS4xLDc2NywyMjkuMSw3NjdMMjI5LjEsNzY3eiIvPjxwYXRoIGQ9Ik0xNDksODk5LjdjNDIuMywzOC45LDExNi42LDQ5LjIsMTE2LjYsNDkuMmw2NS4yLTk4LjNMMTQ5LDg5OS43TDE0OSw4OTkuN3oiLz48cGF0aCBkPSJNMzU2LjksODUwLjVjMC45LDYuOS04Mi4xLDEwNy4zLTgyLjEsMTA3LjNjNTIuNi0yLjUsMjM1LjctNzMsMjM1LjctNzNDNDMyLjgsODgzLjYsMzU2LjksODUwLjUsMzU2LjksODUwLjV6Ii8+PHBhdGggZD0iTTQ3Ni4xLDk5MGMxMS40LTEzLjcsMzkuMi05Mi42LDM5LjItOTIuNmMtOTIuMywzOC45LTIwMy45LDYwLjQtMjAzLjksNjAuNEMzNDguNyw5NzkuNCw0NzYuMSw5OTAsNDc2LjEsOTkwTDQ3Ni4xLDk5MHoiLz48cGF0aCBkPSJNMzQ5LjYsODIyLjVjMzcuOC01Ni44LDUzLjUtMTI5LjgsNTMuNS0xMjkuOGMtMTQuNiwxMC4zLTE0OC45LDU0LjktMTQ4LjksNTQuOUMyOTQuMiw4MDAuMiwzNDkuNiw4MjIuNSwzNDkuNiw4MjIuNUwzNDkuNiw4MjIuNXoiLz48cGF0aCBkPSJNMzc3LjcsODA4LjJjMjguNiwxLjEsMTczLjItNjkuOCwxNzMuMi02OS44Yy0zMS40LTYuOS0xMTYuMS01MS41LTExNi4xLTUxLjVMMzc3LjcsODA4LjJMMzc3LjcsODA4LjJ6Ii8+PHBhdGggZD0iTTM2Ni4zLDgzMi4yYzIwLjYsMjQsMTQ5LDQ2LjksMTQ5LDQ2LjljMjEuNC0yNi45LDM1LjctMTMxLjUsMzUuNy0xMzEuNUM1NDQuNyw3NjAuMiwzNjYuMyw4MzIuMiwzNjYuMyw4MzIuMkwzNjYuMyw4MzIuMnoiLz48L2c+DQo8L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SQL" camel.apache.org/kamelet.namespace: "Database" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Microsoft SQL Server Source" description: Query data from a Microsoft SQL Server Database. required: - serverName - username - password - query - databaseName type: object properties: serverName: title: Server Name description: The server name for the data source. type: string example: localhost serverPort: title: Server Port description: The server port for the data source. type: string default: 1433 username: title: Username description: The username to access a secured SQL Server Database type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The password to access a secured SQL Server Database type: string format: password x-descriptors: - urn:camel:group:credentials query: title: Query description: The query to execute against the SQL Server Database type: string example: 'INSERT INTO accounts (username,city) VALUES (:#username,:#city)' databaseName: title: Database Name description: The name of the Database. type: string consumedQuery: title: Consumed Query description: A query to run on a tuple consumed type: string example: 'DELETE FROM accounts where user_id = :#user_id' encrypt: title: Encrypt Connection description: Encrypt the connection to SQL Server. type: boolean default: false trustServerCertificate: title: Trust Server Certificate description: Trust Server Certificate type: boolean default: true delay: title: Delay description: The number of milliseconds before the next poll type: integer default: 500 types: in: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:sql" - "mvn:org.apache.commons:commons-dbcp2:2.13.0" template: beans: - name: local-sqlserver-source type: "#class:org.apache.camel.component.sql.SqlComponent" properties: autowiredEnabled: "false" - name: dsBean type: "#class:org.apache.commons.dbcp2.BasicDataSource" properties: username: '{{username}}' password: '{{password}}' url: 'jdbc:sqlserver://{{serverName}}:{{serverPort}};databaseName={{databaseName}};encrypt={{encrypt}};trustServerCertificate={{trustServerCertificate}};' driverClassName: 'com.microsoft.sqlserver.jdbc.SQLServerDriver' from: uri: "{{local-sqlserver-source}}:{{query}}" parameters: dataSource: "#bean:{{dsBean}}" onConsume: "{{?consumedQuery}}" delay: "{{delay}}" steps: - marshal: json: library: Jackson - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ssh-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjQgNjQiPgogICAgPHBhdGggZD0iTSA3IDggQyA1LjM0NiA4IDQgOS4zNDYgNCAxMSBMIDQgNTMgQyA0IDU0LjY1NCA1LjM0NiA1NiA3IDU2IEwgNTcgNTYgQyA1OC42NTQgNTYgNjAgNTQuNjU0IDYwIDUzIEwgNjAgMTEgQyA2MCA5LjM0NiA1OC42NTQgOCA1NyA4IEwgNyA4IHogTSA3IDEwIEwgNTcgMTAgQyA1Ny41NTIgMTAgNTggMTAuNDQ4IDU4IDExIEwgNTggNTMgQyA1OCA1My41NTIgNTcuNTUyIDU0IDU3IDU0IEwgNyA1NCBDIDYuNDQ4IDU0IDYgNTMuNTUyIDYgNTMgTCA2IDIwIEwgNDcgMjAgQyA0Ny41NTMgMjAgNDggMTkuNTUzIDQ4IDE5IEMgNDggMTguNDQ3IDQ3LjU1MyAxOCA0NyAxOCBMIDYgMTggTCA2IDExIEMgNiAxMC40NDggNi40NDggMTAgNyAxMCB6IE0gMTAgMTIgQyA5LjQ0NyAxMiA5IDEyLjQ0NyA5IDEzIEwgOSAxNSBDIDkgMTUuNTUzIDkuNDQ3IDE2IDEwIDE2IEMgMTAuNTUzIDE2IDExIDE1LjU1MyAxMSAxNSBMIDExIDEzIEMgMTEgMTIuNDQ3IDEwLjU1MyAxMiAxMCAxMiB6IE0gMTUgMTIgQyAxNC40NDcgMTIgMTQgMTIuNDQ3IDE0IDEzIEwgMTQgMTUgQyAxNCAxNS41NTMgMTQuNDQ3IDE2IDE1IDE2IEMgMTUuNTUzIDE2IDE2IDE1LjU1MyAxNiAxNSBMIDE2IDEzIEMgMTYgMTIuNDQ3IDE1LjU1MyAxMiAxNSAxMiB6IE0gMjAgMTIgQyAxOS40NDcgMTIgMTkgMTIuNDQ3IDE5IDEzIEwgMTkgMTUgQyAxOSAxNS41NTMgMTkuNDQ3IDE2IDIwIDE2IEMgMjAuNTUzIDE2IDIxIDE1LjU1MyAyMSAxNSBMIDIxIDEzIEMgMjEgMTIuNDQ3IDIwLjU1MyAxMiAyMCAxMiB6IE0gMjUgMTIgQyAyNC40NDcgMTIgMjQgMTIuNDQ3IDI0IDEzIEwgMjQgMTUgQyAyNCAxNS41NTMgMjQuNDQ3IDE2IDI1IDE2IEMgMjUuNTUzIDE2IDI2IDE1LjU1MyAyNiAxNSBMIDI2IDEzIEMgMjYgMTIuNDQ3IDI1LjU1MyAxMiAyNSAxMiB6IE0gMzAgMTIgQyAyOS40NDcgMTIgMjkgMTIuNDQ3IDI5IDEzIEwgMjkgMTUgQyAyOSAxNS41NTMgMjkuNDQ3IDE2IDMwIDE2IEMgMzAuNTUzIDE2IDMxIDE1LjU1MyAzMSAxNSBMIDMxIDEzIEMgMzEgMTIuNDQ3IDMwLjU1MyAxMiAzMCAxMiB6IE0gMzUgMTIgQyAzNC40NDcgMTIgMzQgMTIuNDQ3IDM0IDEzIEwgMzQgMTUgQyAzNCAxNS41NTMgMzQuNDQ3IDE2IDM1IDE2IEMgMzUuNTUzIDE2IDM2IDE1LjU1MyAzNiAxNSBMIDM2IDEzIEMgMzYgMTIuNDQ3IDM1LjU1MyAxMiAzNSAxMiB6IE0gNDAgMTIgQyAzOS40NDcgMTIgMzkgMTIuNDQ3IDM5IDEzIEwgMzkgMTUgQyAzOSAxNS41NTMgMzkuNDQ3IDE2IDQwIDE2IEMgNDAuNTUzIDE2IDQxIDE1LjU1MyA0MSAxNSBMIDQxIDEzIEMgNDEgMTIuNDQ3IDQwLjU1MyAxMiA0MCAxMiB6IE0gNDUgMTIgQyA0NC40NDcgMTIgNDQgMTIuNDQ3IDQ0IDEzIEwgNDQgMTUgQyA0NCAxNS41NTMgNDQuNDQ3IDE2IDQ1IDE2IEMgNDUuNTUzIDE2IDQ2IDE1LjU1MyA0NiAxNSBMIDQ2IDEzIEMgNDYgMTIuNDQ3IDQ1LjU1MyAxMiA0NSAxMiB6IE0gNTAgMTIgQyA0OS40NDcgMTIgNDkgMTIuNDQ3IDQ5IDEzIEwgNDkgMTUgQyA0OSAxNS41NTMgNDkuNDQ3IDE2IDUwIDE2IEMgNTAuNTUzIDE2IDUxIDE1LjU1MyA1MSAxNSBMIDUxIDEzIEMgNTEgMTIuNDQ3IDUwLjU1MyAxMiA1MCAxMiB6IE0gNTUgMTIgQyA1NC40NDcgMTIgNTQgMTIuNDQ3IDU0IDEzIEwgNTQgMTUgQyA1NCAxNS41NTMgNTQuNDQ3IDE2IDU1IDE2IEMgNTUuNTUzIDE2IDU2IDE1LjU1MyA1NiAxNSBMIDU2IDEzIEMgNTYgMTIuNDQ3IDU1LjU1MyAxMiA1NSAxMiB6IE0gNTEgMTggQyA1MC40NDcgMTggNTAgMTguNDQ3IDUwIDE5IEMgNTAgMTkuNTUzIDUwLjQ0NyAyMCA1MSAyMCBMIDU1IDIwIEMgNTUuNTUzIDIwIDU2IDE5LjU1MyA1NiAxOSBDIDU2IDE4LjQ0NyA1NS41NTMgMTggNTUgMTggTCA1MSAxOCB6IE0gMTYgMjggQyAxMy43OTQgMjggMTIgMjkuNzk0IDEyIDMyIEwgMTIgMzQgQyAxMiAzNi4yMDYgMTMuNzk0IDM4IDE2IDM4IEwgMTggMzggQyAxOS4xMDMgMzggMjAgMzguODk3IDIwIDQwIEwgMjAgNDIgQyAyMCA0My4xMDMgMTkuMTAzIDQ0IDE4IDQ0IEwgMTYgNDQgQyAxNC44OTcgNDQgMTQgNDMuMTAzIDE0IDQyIEwgMTQgNDEgQyAxNCA0MC40NDcgMTMuNTUzIDQwIDEzIDQwIEMgMTIuNDQ3IDQwIDEyIDQwLjQ0NyAxMiA0MSBMIDEyIDQyIEMgMTIgNDQuMjA2IDEzLjc5NCA0NiAxNiA0NiBMIDE4IDQ2IEMgMjAuMjA2IDQ2IDIyIDQ0LjIwNiAyMiA0MiBMIDIyIDQwIEMgMjIgMzcuNzk0IDIwLjIwNiAzNiAxOCAzNiBMIDE2IDM2IEMgMTQuODk3IDM2IDE0IDM1LjEwMyAxNCAzNCBMIDE0IDMyIEMgMTQgMzAuODk3IDE0Ljg5NyAzMCAxNiAzMCBMIDE4IDMwIEMgMTkuMTAzIDMwIDIwIDMwLjg5NyAyMCAzMiBMIDIwIDMzIEMgMjAgMzMuNTUzIDIwLjQ0NyAzNCAyMSAzNCBDIDIxLjU1MyAzNCAyMiAzMy41NTMgMjIgMzMgTCAyMiAzMiBDIDIyIDI5Ljc5NCAyMC4yMDYgMjggMTggMjggTCAxNiAyOCB6IE0gMzAgMjggQyAyNy43OTQgMjggMjYgMjkuNzk0IDI2IDMyIEwgMjYgMzQgQyAyNiAzNi4yMDYgMjcuNzk0IDM4IDMwIDM4IEwgMzIgMzggQyAzMy4xMDMgMzggMzQgMzguODk3IDM0IDQwIEwgMzQgNDIgQyAzNCA0My4xMDMgMzMuMTAzIDQ0IDMyIDQ0IEwgMzAgNDQgQyAyOC44OTcgNDQgMjggNDMuMTAzIDI4IDQyIEwgMjggNDEgQyAyOCA0MC40NDcgMjcuNTUzIDQwIDI3IDQwIEMgMjYuNDQ3IDQwIDI2IDQwLjQ0NyAyNiA0MSBMIDI2IDQyIEMgMjYgNDQuMjA2IDI3Ljc5NCA0NiAzMCA0NiBMIDMyIDQ2IEMgMzQuMjA2IDQ2IDM2IDQ0LjIwNiAzNiA0MiBMIDM2IDQwIEMgMzYgMzcuNzk0IDM0LjIwNiAzNiAzMiAzNiBMIDMwIDM2IEMgMjguODk3IDM2IDI4IDM1LjEwMyAyOCAzNCBMIDI4IDMyIEMgMjggMzAuODk3IDI4Ljg5NyAzMCAzMCAzMCBMIDMyIDMwIEMgMzMuMTAzIDMwIDM0IDMwLjg5NyAzNCAzMiBMIDM0IDMzIEMgMzQgMzMuNTUzIDM0LjQ0NyAzNCAzNSAzNCBDIDM1LjU1MyAzNCAzNiAzMy41NTMgMzYgMzMgTCAzNiAzMiBDIDM2IDI5Ljc5NCAzNC4yMDYgMjggMzIgMjggTCAzMCAyOCB6IE0gNDEgMjggQyA0MC40NDcgMjggNDAgMjguNDQ3IDQwIDI5IEwgNDAgNDUgQyA0MCA0NS41NTMgNDAuNDQ3IDQ2IDQxIDQ2IEMgNDEuNTUzIDQ2IDQyIDQ1LjU1MyA0MiA0NSBMIDQyIDM4IEwgNDggMzggTCA0OCA0NSBDIDQ4IDQ1LjU1MyA0OC40NDcgNDYgNDkgNDYgQyA0OS41NTMgNDYgNTAgNDUuNTUzIDUwIDQ1IEwgNTAgMjkgQyA1MCAyOC40NDcgNDkuNTUzIDI4IDQ5IDI4IEMgNDguNDQ3IDI4IDQ4IDI4LjQ0NyA0OCAyOSBMIDQ4IDM2IEwgNDIgMzYgTCA0MiAyOSBDIDQyIDI4LjQ0NyA0MS41NTMgMjggNDEgMjggeiIvPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SSH" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "SSH Sink" description: Send command through SSH session. required: - connectionHost - connectionPort - username - password type: object properties: connectionHost: title: Connection Host description: The SSH Host type: string connectionPort: title: Connection Port description: The SSH Port type: string default: 22 username: title: Username description: The SSH username to use type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The SSH password to use type: string format: password x-descriptors: - urn:camel:group:credentials types: in: mediaType: text/plain out: mediaType: text/plain dependencies: - "camel:ssh" - "camel:gson" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "ssh://{{connectionHost}}:{{connectionPort}}" parameters: username: "{{username}}" password: "{{password}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: ssh-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIj8+CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjQgNjQiPgogICAgPHBhdGggZD0iTSA3IDggQyA1LjM0NiA4IDQgOS4zNDYgNCAxMSBMIDQgNTMgQyA0IDU0LjY1NCA1LjM0NiA1NiA3IDU2IEwgNTcgNTYgQyA1OC42NTQgNTYgNjAgNTQuNjU0IDYwIDUzIEwgNjAgMTEgQyA2MCA5LjM0NiA1OC42NTQgOCA1NyA4IEwgNyA4IHogTSA3IDEwIEwgNTcgMTAgQyA1Ny41NTIgMTAgNTggMTAuNDQ4IDU4IDExIEwgNTggNTMgQyA1OCA1My41NTIgNTcuNTUyIDU0IDU3IDU0IEwgNyA1NCBDIDYuNDQ4IDU0IDYgNTMuNTUyIDYgNTMgTCA2IDIwIEwgNDcgMjAgQyA0Ny41NTMgMjAgNDggMTkuNTUzIDQ4IDE5IEMgNDggMTguNDQ3IDQ3LjU1MyAxOCA0NyAxOCBMIDYgMTggTCA2IDExIEMgNiAxMC40NDggNi40NDggMTAgNyAxMCB6IE0gMTAgMTIgQyA5LjQ0NyAxMiA5IDEyLjQ0NyA5IDEzIEwgOSAxNSBDIDkgMTUuNTUzIDkuNDQ3IDE2IDEwIDE2IEMgMTAuNTUzIDE2IDExIDE1LjU1MyAxMSAxNSBMIDExIDEzIEMgMTEgMTIuNDQ3IDEwLjU1MyAxMiAxMCAxMiB6IE0gMTUgMTIgQyAxNC40NDcgMTIgMTQgMTIuNDQ3IDE0IDEzIEwgMTQgMTUgQyAxNCAxNS41NTMgMTQuNDQ3IDE2IDE1IDE2IEMgMTUuNTUzIDE2IDE2IDE1LjU1MyAxNiAxNSBMIDE2IDEzIEMgMTYgMTIuNDQ3IDE1LjU1MyAxMiAxNSAxMiB6IE0gMjAgMTIgQyAxOS40NDcgMTIgMTkgMTIuNDQ3IDE5IDEzIEwgMTkgMTUgQyAxOSAxNS41NTMgMTkuNDQ3IDE2IDIwIDE2IEMgMjAuNTUzIDE2IDIxIDE1LjU1MyAyMSAxNSBMIDIxIDEzIEMgMjEgMTIuNDQ3IDIwLjU1MyAxMiAyMCAxMiB6IE0gMjUgMTIgQyAyNC40NDcgMTIgMjQgMTIuNDQ3IDI0IDEzIEwgMjQgMTUgQyAyNCAxNS41NTMgMjQuNDQ3IDE2IDI1IDE2IEMgMjUuNTUzIDE2IDI2IDE1LjU1MyAyNiAxNSBMIDI2IDEzIEMgMjYgMTIuNDQ3IDI1LjU1MyAxMiAyNSAxMiB6IE0gMzAgMTIgQyAyOS40NDcgMTIgMjkgMTIuNDQ3IDI5IDEzIEwgMjkgMTUgQyAyOSAxNS41NTMgMjkuNDQ3IDE2IDMwIDE2IEMgMzAuNTUzIDE2IDMxIDE1LjU1MyAzMSAxNSBMIDMxIDEzIEMgMzEgMTIuNDQ3IDMwLjU1MyAxMiAzMCAxMiB6IE0gMzUgMTIgQyAzNC40NDcgMTIgMzQgMTIuNDQ3IDM0IDEzIEwgMzQgMTUgQyAzNCAxNS41NTMgMzQuNDQ3IDE2IDM1IDE2IEMgMzUuNTUzIDE2IDM2IDE1LjU1MyAzNiAxNSBMIDM2IDEzIEMgMzYgMTIuNDQ3IDM1LjU1MyAxMiAzNSAxMiB6IE0gNDAgMTIgQyAzOS40NDcgMTIgMzkgMTIuNDQ3IDM5IDEzIEwgMzkgMTUgQyAzOSAxNS41NTMgMzkuNDQ3IDE2IDQwIDE2IEMgNDAuNTUzIDE2IDQxIDE1LjU1MyA0MSAxNSBMIDQxIDEzIEMgNDEgMTIuNDQ3IDQwLjU1MyAxMiA0MCAxMiB6IE0gNDUgMTIgQyA0NC40NDcgMTIgNDQgMTIuNDQ3IDQ0IDEzIEwgNDQgMTUgQyA0NCAxNS41NTMgNDQuNDQ3IDE2IDQ1IDE2IEMgNDUuNTUzIDE2IDQ2IDE1LjU1MyA0NiAxNSBMIDQ2IDEzIEMgNDYgMTIuNDQ3IDQ1LjU1MyAxMiA0NSAxMiB6IE0gNTAgMTIgQyA0OS40NDcgMTIgNDkgMTIuNDQ3IDQ5IDEzIEwgNDkgMTUgQyA0OSAxNS41NTMgNDkuNDQ3IDE2IDUwIDE2IEMgNTAuNTUzIDE2IDUxIDE1LjU1MyA1MSAxNSBMIDUxIDEzIEMgNTEgMTIuNDQ3IDUwLjU1MyAxMiA1MCAxMiB6IE0gNTUgMTIgQyA1NC40NDcgMTIgNTQgMTIuNDQ3IDU0IDEzIEwgNTQgMTUgQyA1NCAxNS41NTMgNTQuNDQ3IDE2IDU1IDE2IEMgNTUuNTUzIDE2IDU2IDE1LjU1MyA1NiAxNSBMIDU2IDEzIEMgNTYgMTIuNDQ3IDU1LjU1MyAxMiA1NSAxMiB6IE0gNTEgMTggQyA1MC40NDcgMTggNTAgMTguNDQ3IDUwIDE5IEMgNTAgMTkuNTUzIDUwLjQ0NyAyMCA1MSAyMCBMIDU1IDIwIEMgNTUuNTUzIDIwIDU2IDE5LjU1MyA1NiAxOSBDIDU2IDE4LjQ0NyA1NS41NTMgMTggNTUgMTggTCA1MSAxOCB6IE0gMTYgMjggQyAxMy43OTQgMjggMTIgMjkuNzk0IDEyIDMyIEwgMTIgMzQgQyAxMiAzNi4yMDYgMTMuNzk0IDM4IDE2IDM4IEwgMTggMzggQyAxOS4xMDMgMzggMjAgMzguODk3IDIwIDQwIEwgMjAgNDIgQyAyMCA0My4xMDMgMTkuMTAzIDQ0IDE4IDQ0IEwgMTYgNDQgQyAxNC44OTcgNDQgMTQgNDMuMTAzIDE0IDQyIEwgMTQgNDEgQyAxNCA0MC40NDcgMTMuNTUzIDQwIDEzIDQwIEMgMTIuNDQ3IDQwIDEyIDQwLjQ0NyAxMiA0MSBMIDEyIDQyIEMgMTIgNDQuMjA2IDEzLjc5NCA0NiAxNiA0NiBMIDE4IDQ2IEMgMjAuMjA2IDQ2IDIyIDQ0LjIwNiAyMiA0MiBMIDIyIDQwIEMgMjIgMzcuNzk0IDIwLjIwNiAzNiAxOCAzNiBMIDE2IDM2IEMgMTQuODk3IDM2IDE0IDM1LjEwMyAxNCAzNCBMIDE0IDMyIEMgMTQgMzAuODk3IDE0Ljg5NyAzMCAxNiAzMCBMIDE4IDMwIEMgMTkuMTAzIDMwIDIwIDMwLjg5NyAyMCAzMiBMIDIwIDMzIEMgMjAgMzMuNTUzIDIwLjQ0NyAzNCAyMSAzNCBDIDIxLjU1MyAzNCAyMiAzMy41NTMgMjIgMzMgTCAyMiAzMiBDIDIyIDI5Ljc5NCAyMC4yMDYgMjggMTggMjggTCAxNiAyOCB6IE0gMzAgMjggQyAyNy43OTQgMjggMjYgMjkuNzk0IDI2IDMyIEwgMjYgMzQgQyAyNiAzNi4yMDYgMjcuNzk0IDM4IDMwIDM4IEwgMzIgMzggQyAzMy4xMDMgMzggMzQgMzguODk3IDM0IDQwIEwgMzQgNDIgQyAzNCA0My4xMDMgMzMuMTAzIDQ0IDMyIDQ0IEwgMzAgNDQgQyAyOC44OTcgNDQgMjggNDMuMTAzIDI4IDQyIEwgMjggNDEgQyAyOCA0MC40NDcgMjcuNTUzIDQwIDI3IDQwIEMgMjYuNDQ3IDQwIDI2IDQwLjQ0NyAyNiA0MSBMIDI2IDQyIEMgMjYgNDQuMjA2IDI3Ljc5NCA0NiAzMCA0NiBMIDMyIDQ2IEMgMzQuMjA2IDQ2IDM2IDQ0LjIwNiAzNiA0MiBMIDM2IDQwIEMgMzYgMzcuNzk0IDM0LjIwNiAzNiAzMiAzNiBMIDMwIDM2IEMgMjguODk3IDM2IDI4IDM1LjEwMyAyOCAzNCBMIDI4IDMyIEMgMjggMzAuODk3IDI4Ljg5NyAzMCAzMCAzMCBMIDMyIDMwIEMgMzMuMTAzIDMwIDM0IDMwLjg5NyAzNCAzMiBMIDM0IDMzIEMgMzQgMzMuNTUzIDM0LjQ0NyAzNCAzNSAzNCBDIDM1LjU1MyAzNCAzNiAzMy41NTMgMzYgMzMgTCAzNiAzMiBDIDM2IDI5Ljc5NCAzNC4yMDYgMjggMzIgMjggTCAzMCAyOCB6IE0gNDEgMjggQyA0MC40NDcgMjggNDAgMjguNDQ3IDQwIDI5IEwgNDAgNDUgQyA0MCA0NS41NTMgNDAuNDQ3IDQ2IDQxIDQ2IEMgNDEuNTUzIDQ2IDQyIDQ1LjU1MyA0MiA0NSBMIDQyIDM4IEwgNDggMzggTCA0OCA0NSBDIDQ4IDQ1LjU1MyA0OC40NDcgNDYgNDkgNDYgQyA0OS41NTMgNDYgNTAgNDUuNTUzIDUwIDQ1IEwgNTAgMjkgQyA1MCAyOC40NDcgNDkuNTUzIDI4IDQ5IDI4IEMgNDguNDQ3IDI4IDQ4IDI4LjQ0NyA0OCAyOSBMIDQ4IDM2IEwgNDIgMzYgTCA0MiAyOSBDIDQyIDI4LjQ0NyA0MS41NTMgMjggNDEgMjggeiIvPgo8L3N2Zz4K" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "SSH" camel.apache.org/kamelet.namespace: "File" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "SSH Source" description: Receive data from SSH session. required: - connectionHost - connectionPort - username - password - pollCommand type: object properties: connectionHost: title: Connection Host description: The SSH Host type: string connectionPort: title: Connection Port description: The SSH Port type: string default: 22 username: title: Username description: The SSH username to use type: string x-descriptors: - urn:camel:group:credentials password: title: Password description: The SSH password to use type: string format: password x-descriptors: - urn:camel:group:credentials delay: title: Delay description: The number of milliseconds before the next poll type: integer default: 500 pollCommand: title: Poll Command description: The command to run while polling the SSH session type: string example: date dependencies: - "camel:ssh" - "camel:kamelet" template: from: uri: "ssh://{{connectionHost}}:{{connectionPort}}" parameters: username: "{{username}}" password: "{{password}}" delay: "{{delay}}" pollCommand: "{{pollCommand}}" steps: - convertBodyTo: type: "java.lang.String" - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: string-template-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "String Template Action" description: Apply a String Template. required: - template type: object properties: template: title: Template description: The inline template type: string example: "file:////template.tm" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:stringtemplate" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "string-template:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: telegram-sink annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNDAgMjQwIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIuNjY3IiB4Mj0iLjQxNyIgeTE9Ii4xNjciIHkyPSIuNzUiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzM3YWVlMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzFlOTZjOCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iLjY2IiB4Mj0iLjg1MSIgeTE9Ii40MzciIHkyPSIuODAyIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNlZmY3ZmMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48Y2lyY2xlIGN4PSIxMjAiIGN5PSIxMjAiIHI9IjEyMCIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGZpbGw9IiNjOGRhZWEiIGQ9Ik05OCAxNzVjLTMuODg4IDAtMy4yMjctMS40NjgtNC41NjgtNS4xN0w4MiAxMzIuMjA3IDE3MCA4MCIvPjxwYXRoIGZpbGw9IiNhOWM5ZGQiIGQ9Ik05OCAxNzVjMyAwIDQuMzI1LTEuMzcyIDYtM2wxNi0xNS41NTgtMTkuOTU4LTEyLjAzNSIvPjxwYXRoIGZpbGw9InVybCgjYikiIGQ9Ik0xMDAuMDQgMTQ0LjQxbDQ4LjM2IDM1LjcyOWM1LjUxOSAzLjA0NSA5LjUwMSAxLjQ2OCAxMC44NzYtNS4xMjNsMTkuNjg1LTkyLjc2M2MyLjAxNS04LjA4LTMuMDgtMTEuNzQ2LTguMzYtOS4zNDlsLTExNS41OSA0NC41NzFjLTcuODkgMy4xNjUtNy44NDMgNy41NjctMS40MzggOS41MjhsMjkuNjYzIDkuMjU5IDY4LjY3My00My4zMjVjMy4yNDItMS45NjYgNi4yMTgtLjkxIDMuNzc2IDEuMjU4Ii8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Telegram" camel.apache.org/kamelet.namespace: "Social" labels: camel.apache.org/kamelet.type: "sink" spec: definition: title: "Telegram Sink" description: Send a message to a Telegram chat by using your Telegram bot as sender. required: - authorizationToken type: object properties: authorizationToken: title: Token description: "The token to access your bot on Telegram. You you can obtain it from the Telegram @botfather." type: string format: password x-descriptors: - urn:camel:group:credentials chatId: title: Chat ID description: The Chat ID to where you want to send messages by default. type: string types: out: mediaType: application/json dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:telegram" template: from: uri: "kamelet:source" steps: - choice: when: - simple: "${header[Content-Type]} == 'image/png'" steps: - convertBodyTo: type: "byte[]" - setHeader: name: CamelTelegramMediaType constant: PHOTO_PNG - simple: "${header[Content-Type]} == 'image/jpeg'" steps: - convertBodyTo: type: "byte[]" - setHeader: name: CamelTelegramMediaType constant: PHOTO_JPG otherwise: steps: - convertBodyTo: type: "java.lang.String" - choice: when: - simple: "${header[text]}" steps: - setHeader: name: CamelTelegramMediaTitleCaption simple: "${header[text]}" - simple: "${header[ce-text]}" steps: - setHeader: name: CamelTelegramMediaTitleCaption simple: "${header[ce-text]}" - choice: when: - simple: "${header[chat-id]}" steps: - setHeader: name: CamelTelegramChatId simple: "${header[chat-id]}" - simple: "${header[ce-chatid]}" steps: - setHeader: name: CamelTelegramChatId simple: "${header[ce-chatid]}" - to: uri: "telegram:bots" parameters: authorizationToken: "{{authorizationToken}}" chatId: "{{?chatId}}" - marshal: json: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: telegram-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNDAgMjQwIj48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9ImEiIHgxPSIuNjY3IiB4Mj0iLjQxNyIgeTE9Ii4xNjciIHkyPSIuNzUiPjxzdG9wIG9mZnNldD0iMCIgc3RvcC1jb2xvcj0iIzM3YWVlMiIvPjxzdG9wIG9mZnNldD0iMSIgc3RvcC1jb2xvcj0iIzFlOTZjOCIvPjwvbGluZWFyR3JhZGllbnQ+PGxpbmVhckdyYWRpZW50IGlkPSJiIiB4MT0iLjY2IiB4Mj0iLjg1MSIgeTE9Ii40MzciIHkyPSIuODAyIj48c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiNlZmY3ZmMiLz48c3RvcCBvZmZzZXQ9IjEiIHN0b3AtY29sb3I9IiNmZmYiLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48Y2lyY2xlIGN4PSIxMjAiIGN5PSIxMjAiIHI9IjEyMCIgZmlsbD0idXJsKCNhKSIvPjxwYXRoIGZpbGw9IiNjOGRhZWEiIGQ9Ik05OCAxNzVjLTMuODg4IDAtMy4yMjctMS40NjgtNC41NjgtNS4xN0w4MiAxMzIuMjA3IDE3MCA4MCIvPjxwYXRoIGZpbGw9IiNhOWM5ZGQiIGQ9Ik05OCAxNzVjMyAwIDQuMzI1LTEuMzcyIDYtM2wxNi0xNS41NTgtMTkuOTU4LTEyLjAzNSIvPjxwYXRoIGZpbGw9InVybCgjYikiIGQ9Ik0xMDAuMDQgMTQ0LjQxbDQ4LjM2IDM1LjcyOWM1LjUxOSAzLjA0NSA5LjUwMSAxLjQ2OCAxMC44NzYtNS4xMjNsMTkuNjg1LTkyLjc2M2MyLjAxNS04LjA4LTMuMDgtMTEuNzQ2LTguMzYtOS4zNDlsLTExNS41OSA0NC41NzFjLTcuODkgMy4xNjUtNy44NDMgNy41NjctMS40MzggOS41MjhsMjkuNjYzIDkuMjU5IDY4LjY3My00My4zMjVjMy4yNDItMS45NjYgNi4yMTgtLjkxIDMuNzc2IDEuMjU4Ii8+PC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Telegram" camel.apache.org/kamelet.namespace: "Social" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Telegram Source" description: Receive all messages that people send to your Telegram bot. required: - authorizationToken type: object properties: authorizationToken: title: Token description: "The token to access your bot on Telegram. You can obtain it from the Telegram @botfather." type: string format: password x-descriptors: - urn:camel:group:credentials types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:kamelet" - "camel:telegram" - "camel:core" template: from: uri: telegram:bots parameters: authorizationToken: "{{authorizationToken}}" steps: - setHeader: name: chat-id simple: "${header[CamelTelegramChatId]}" - setHeader: name: ce-chatid simple: "${header[CamelTelegramChatId]}" - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: throttle-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "EIP" spec: definition: title: "Throttle Action" description: "The Throttle action allows you to ensure that a specific sink does not get overloaded." required: - messages properties: messages: title: Messages Number description: The number of messages to send in the time period set type: integer example: 10 timePeriod: title: Time Period description: Sets the time period during which the maximum request count is valid for, in milliseconds type: string default: "1000" type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - throttle: constant: "{{messages}}" timePeriodMillis: "{{timePeriod}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: timer-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gU3ZnIFZlY3RvciBJY29ucyA6IGh0dHA6Ly93d3cub25saW5ld2ViZm9udHMuY29tL2ljb24gLS0+DQo8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPg0KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4IiB2aWV3Qm94PSIwIDAgMTAwMCAxMDAwIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHhtbDpzcGFjZT0icHJlc2VydmUiPg0KPG1ldGFkYXRhPiBTdmcgVmVjdG9yIEljb25zIDogaHR0cDovL3d3dy5vbmxpbmV3ZWJmb250cy5jb20vaWNvbiA8L21ldGFkYXRhPg0KPGc+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMC4wMDAwMDAsNTExLjAwMDAwMCkgc2NhbGUoMC4xMDAwMDAsLTAuMTAwMDAwKSI+PHBhdGggZD0iTTM4ODguMSw0Nzc0Ljl2LTIzNS4xaDQxMS40aDQxNC4zbC04LjgtMzI5LjFsLTguOC0zMzJsLTExNy41LTguOGMtMjI5LjItMTQuNy02MjAtOTkuOS05MjUuNi0xOTYuOUMyMjU3LjQsMzIyMC42LDExNjcuMiwyMDY1LjgsODAyLjksNjQ5LjZjLTUxMS4zLTE5ODYuMywzODQuOS00MDAyLDIyMDYuNy00OTY1LjhjMzAyLjYtMTYxLjYsNzU4LjEtMzIwLjIsMTE1NC44LTQwNS41YzQyNi4xLTkxLjEsMTI1MS43LTkxLjEsMTY4MC43LDBjMTc2OC45LDM4MiwzMDQ0LjEsMTY1Ny4yLDM0MjYuMSwzNDI2LjFjOTEuMSw0MjYuMSw5MS4xLDEyNTQuNiwwLDE2NzcuOGMtNDIwLjIsMTk0Mi4yLTE5MzYuNCwzMzAyLjYtMzg5MC4zLDM0OTYuNmwtMTk5LjgsMjAuNnYzMjAuM3YzMjAuM2g0MTEuNGg0MTEuNHYyMzUuMVY1MDEwSDQ5NDUuOUgzODg4LjFWNDc3NC45eiBNNTc1My45LDMzNDkuOWM3NzguNy0xNjEuNiwxNDE5LjItNTA4LjMsMTk4My40LTEwNzIuNWM1NjQuMi01NjEuMiw4ODcuNC0xMTU3LjcsMTA2MC43LTE5NDIuMmM5OS45LTQzNy44LDk5LjktMTE0MywzLTE1ODAuOEM4NTYzLTIzMDYuNCw3OTY2LjUtMzE1OC41LDcwNDMuOS0zNzUyYy0zMzUtMjE0LjUtNzg3LjUtMzk2LjctMTI0OC44LTQ5OS41Yy00MzcuOC05Ny0xMTQzLTk3LTE1ODAuOCwyLjljLTc4NC41LDE3My4zLTEzODEsNDk2LjYtMTk0Mi4yLDEwNjAuN2MtNTcwLDU2Ny4xLTkwNy45LDExOTguOC0xMDc4LjQsMTk5OC4xYy03My41LDM0Ni43LTczLjUsMTEyMi40LDAsMTQ2OS4yYzE3MC40LDc5OS4yLDUwOC4zLDE0MzEsMTA3OC40LDE5OThDMjg5NSwyOTAwLjMsMzYzOC40LDMyNzMuNSw0NDkzLjQsMzM5MUM0Nzc4LjQsMzQzMi4xLDU0NzQuOCwzNDA4LjYsNTc1My45LDMzNDkuOXoiLz48cGF0aCBkPSJNNDcxMC44LDEzNzUuM1YyMDUuOUw0NTUyLjIsNjcuOGMtMzE3LjMtMjc5LjEtMzQwLjgtNjc4LjctNTUuOC05OTMuMWMyODcuOS0zMjAuMyw2OTMuNC0zMTcuMywxMDEzLjcsNS45bDE3MC40LDE3MC40aDEwNDMuMWgxMDQzLjFWLTUxNFYtMjc5SDY3MjkuNUg1NjkyLjJsLTQ5LjksMTE0LjZjLTU4LjgsMTMyLjItMjUyLjcsMzE3LjMtMzc2LjEsMzYxLjRsLTg1LjIsMjkuNHYxMTU3Ljd2MTE1Ny43aC0yMzUuMWgtMjM1LjFWMTM3NS4zeiBNNTE2Ni4zLTI5My42YzE0Ni45LTE0NCw0NC4xLTM5Ni43LTE2MS42LTM5Ni43Yy01NS44LDAtMTE3LjUsMjYuNC0xNjEuNiw3My40Yy00Nyw0NC4xLTczLjUsMTA1LjgtNzMuNSwxNjEuNnMyNi40LDExNy41LDczLjUsMTYxLjZjNDQuMSw0NywxMDUuOCw3My41LDE2MS42LDczLjVDNTA2MC41LTIyMC4yLDUxMjIuMi0yNDYuNyw1MTY2LjMtMjkzLjZ6Ii8+PC9nPjwvZz4NCjwvc3ZnPg== camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Timer" camel.apache.org/kamelet.namespace: "Scheduling" labels: camel.apache.org/kamelet.type: "source" camel.apache.org/kamelet.verified: "true" spec: definition: title: "Timer Source" description: Produces periodic messages with a custom payload. required: - message type: object properties: period: title: Period description: "The interval (in milliseconds) to wait between producing the next message." type: integer default: 1000 message: title: Message description: The message to generate. type: string example: hello world contentType: title: Content Type description: The content type of the generated message. type: string default: text/plain repeatCount: title: Repeat Count description: Specifies a maximum limit of number of fires type: integer dependencies: - "camel:core" - "camel:timer" - "camel:kamelet" template: from: uri: timer:tick parameters: period: "{{period}}" repeatCount: "{{?repeatCount}}" steps: - setBody: constant: "{{message}}" - setHeader: name: "Content-Type" constant: "{{contentType}}" - to: kamelet:sink --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: timestamp-router-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Timestamp Router Action" description: "Update the topic field as a function of the original topic name and the record timestamp." properties: topicFormat: title: Topic Format description: Format string which can contain '$[topic]' and '$[timestamp]' as placeholders for the topic and timestamp, respectively. type: string default: "topic-$[timestamp]" timestampFormat: title: Timestamp Format description: Format string for the timestamp that is compatible with java.text.SimpleDateFormat. type: string default: "yyyyMMdd" timestampHeaderName: title: Timestamp Header Name description: The name of the header containing a timestamp type: string default: "kafka.TIMESTAMP" type: object dependencies: - "camel:kamelet" - "camel:core" - "camel:kafka" template: from: uri: kamelet:source steps: - setProperty: name: "topicFormat" constant: "{{topicFormat}}" - setProperty: name: "timestampFormat" constant: "{{timestampFormat}}" - setProperty: name: "timestampHeaderName" constant: "{{timestampHeaderName}}" - bean: "org.apache.camel.component.kafka.transform.TimestampRouter" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: topic-name-matches-filter-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Kafka Topic Name Matches Filter Action" description: "Filter based on kafka topic value compared to regex." required: - regex properties: regex: title: Regex description: The Regex to Evaluate against the Kafka topic name type: string type: object dependencies: - "camel:core" - "camel:kamelet" template: from: uri: kamelet:source steps: - filter: simple: "${header[kafka.TOPIC]} !regex '{{regex}}'" steps: - stop: {} --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: twitter-directmessage-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI1NnB4IiBoZWlnaHQ9IjIwOXB4IiB2aWV3Qm94PSIwIDAgMjU2IDIwOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+CiAgICA8Zz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1LjQ1MDAyNTkgQzI0Ni41ODA4NDEsMjkuNjI3MjY3MiAyMzYuNDU4NDUxLDMyLjQ1MDQ4NjggMjI1LjgzNDE1NiwzMy43MjAyMzMzIEMyMzYuNjc4NTAzLDI3LjIxOTgwNTMgMjQ1LjAwNTgzLDE2LjkyNjk5MjkgMjQ4LjkyNzQzNyw0LjY2MzA3Njg1IEMyMzguNzc5NzY1LDEwLjY4MTI2MzMgMjI3LjUzOTMyNSwxNS4wNTIzMzc2IDIxNS41NzU5OSwxNy40MDgyOTggQzIwNS45OTQ4MzUsNy4yMDA2OTcxIDE5Mi4zNDUwNiwwLjgyMiAxNzcuMjM5MTk3LDAuODIyIEMxNDguMjMyNjA1LDAuODIyIDEyNC43MTYwNzYsMjQuMzM3NTkzMSAxMjQuNzE2MDc2LDUzLjM0MjMxMTYgQzEyNC43MTYwNzYsNTcuNDU4Njg3NSAxMjUuMTgxNDYyLDYxLjQ2NzM3ODQgMTI2LjA3NjY1Miw2NS4zMTEyNjQ0IEM4Mi40MjU4Mzg1LDYzLjEyMTA0NTMgNDMuNzI1NzI1Miw0Mi4yMTE0MjkgMTcuODIxMzk4LDEwLjQzNTkyODggQzEzLjMwMDUwMTEsMTguMTkyOTkzOCAxMC43MTA0NDMsMjcuMjE1MTIzNCAxMC43MTA0NDMsMzYuODQwMjg4OSBDMTAuNzEwNDQzLDU1LjA2MTUyNiAxOS45ODM1MjU0LDcxLjEzNzQ5MDcgMzQuMDc2MjEzNSw4MC41NTU3MTM3IEMyNS40NjYwOTYxLDgwLjI4MzIyMzkgMTcuMzY4MTg0Niw3Ny45MjA3MDg4IDEwLjI4NjI1NzcsNzMuOTg2OTI5MiBDMTAuMjgyNTEyMiw3NC4yMDYwNDQ4IDEwLjI4MjUxMjIsNzQuNDI2MDk2NyAxMC4yODI1MTIyLDc0LjY0NzA4NSBDMTAuMjgyNTEyMiwxMDAuMDk0NDUzIDI4LjM4NjcwMDMsMTIxLjMyMjQ0MyA1Mi40MTM1NjMsMTI2LjE0NjczIEM0OC4wMDU5Njk1LDEyNy4zNDcxODQgNDMuMzY2MTUwOSwxMjcuOTg4NjEyIDM4LjU3NTU3MzQsMTI3Ljk4ODYxMiBDMzUuMTkxNDU1NCwxMjcuOTg4NjEyIDMxLjkwMDk3NjYsMTI3LjY1OTkzOCAyOC42OTQ3NzMsMTI3LjA0NjYwMiBDMzUuMzc3Nzk3MywxNDcuOTEzMTQ1IDU0Ljc3NDIwNTMsMTYzLjA5NzY2NSA3Ny43NTY5OTE4LDE2My41MjE4NSBDNTkuNzgyMDI1NywxNzcuNjA3OTgzIDM3LjEzNTQwMzYsMTg2LjAwNDYwNCAxMi41Mjg5MTQ3LDE4Ni4wMDQ2MDQgQzguMjg5ODcxNjEsMTg2LjAwNDYwNCA0LjEwODg4NDc0LDE4NS43NTY0NiAwLDE4NS4yNzE0MDkgQzIzLjI0MzEwMzMsMjAwLjE3MzEzOSA1MC44NTA3MjYxLDIwOC44Njc1MzIgODAuNTEwOTE4NSwyMDguODY3NTMyIEMxNzcuMTE2NTI5LDIwOC44Njc1MzIgMjI5Ljk0Mzk3NywxMjguODM2OTgyIDIyOS45NDM5NzcsNTkuNDMyNjAwMiBDMjI5Ljk0Mzk3Nyw1Ny4xNTUyOTY4IDIyOS44OTM0MTIsNTQuODkwMTY2NCAyMjkuNzkyMjgyLDUyLjYzODE0NTQgQzI0MC4wNTMyNTcsNDUuMjMzMTYzNSAyNDguOTU4MzM4LDM1Ljk4MjU1NDUgMjU2LDI1LjQ1MDAyNTkiIGZpbGw9IiM1NWFjZWUiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Twitter" camel.apache.org/kamelet.namespace: "Social" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Twitter Direct Message Source" description: Allows to get all direct messages for your Twitter account. required: - user - apiKey - apiKeySecret - accessToken - accessTokenSecret type: object properties: user: title: User description: The user we want to read the direct messages type: string example: "ApacheCamel" apiKey: title: API Key description: The API Key from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials apiKeySecret: title: API Key Secret description: The API Key Secret from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials accessToken: title: Access Token description: The Access Token from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials accessTokenSecret: title: Access Token Secret description: The Access Token Secret from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:twitter" - "camel:kamelet" template: from: uri: "twitter-directmessage:{{user}}" parameters: accessToken: "{{accessToken}}" accessTokenSecret: "{{accessTokenSecret}}" consumerKey: "{{apiKey}}" consumerSecret: "{{apiKeySecret}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: twitter-search-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI1NnB4IiBoZWlnaHQ9IjIwOXB4IiB2aWV3Qm94PSIwIDAgMjU2IDIwOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+CiAgICA8Zz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1LjQ1MDAyNTkgQzI0Ni41ODA4NDEsMjkuNjI3MjY3MiAyMzYuNDU4NDUxLDMyLjQ1MDQ4NjggMjI1LjgzNDE1NiwzMy43MjAyMzMzIEMyMzYuNjc4NTAzLDI3LjIxOTgwNTMgMjQ1LjAwNTgzLDE2LjkyNjk5MjkgMjQ4LjkyNzQzNyw0LjY2MzA3Njg1IEMyMzguNzc5NzY1LDEwLjY4MTI2MzMgMjI3LjUzOTMyNSwxNS4wNTIzMzc2IDIxNS41NzU5OSwxNy40MDgyOTggQzIwNS45OTQ4MzUsNy4yMDA2OTcxIDE5Mi4zNDUwNiwwLjgyMiAxNzcuMjM5MTk3LDAuODIyIEMxNDguMjMyNjA1LDAuODIyIDEyNC43MTYwNzYsMjQuMzM3NTkzMSAxMjQuNzE2MDc2LDUzLjM0MjMxMTYgQzEyNC43MTYwNzYsNTcuNDU4Njg3NSAxMjUuMTgxNDYyLDYxLjQ2NzM3ODQgMTI2LjA3NjY1Miw2NS4zMTEyNjQ0IEM4Mi40MjU4Mzg1LDYzLjEyMTA0NTMgNDMuNzI1NzI1Miw0Mi4yMTE0MjkgMTcuODIxMzk4LDEwLjQzNTkyODggQzEzLjMwMDUwMTEsMTguMTkyOTkzOCAxMC43MTA0NDMsMjcuMjE1MTIzNCAxMC43MTA0NDMsMzYuODQwMjg4OSBDMTAuNzEwNDQzLDU1LjA2MTUyNiAxOS45ODM1MjU0LDcxLjEzNzQ5MDcgMzQuMDc2MjEzNSw4MC41NTU3MTM3IEMyNS40NjYwOTYxLDgwLjI4MzIyMzkgMTcuMzY4MTg0Niw3Ny45MjA3MDg4IDEwLjI4NjI1NzcsNzMuOTg2OTI5MiBDMTAuMjgyNTEyMiw3NC4yMDYwNDQ4IDEwLjI4MjUxMjIsNzQuNDI2MDk2NyAxMC4yODI1MTIyLDc0LjY0NzA4NSBDMTAuMjgyNTEyMiwxMDAuMDk0NDUzIDI4LjM4NjcwMDMsMTIxLjMyMjQ0MyA1Mi40MTM1NjMsMTI2LjE0NjczIEM0OC4wMDU5Njk1LDEyNy4zNDcxODQgNDMuMzY2MTUwOSwxMjcuOTg4NjEyIDM4LjU3NTU3MzQsMTI3Ljk4ODYxMiBDMzUuMTkxNDU1NCwxMjcuOTg4NjEyIDMxLjkwMDk3NjYsMTI3LjY1OTkzOCAyOC42OTQ3NzMsMTI3LjA0NjYwMiBDMzUuMzc3Nzk3MywxNDcuOTEzMTQ1IDU0Ljc3NDIwNTMsMTYzLjA5NzY2NSA3Ny43NTY5OTE4LDE2My41MjE4NSBDNTkuNzgyMDI1NywxNzcuNjA3OTgzIDM3LjEzNTQwMzYsMTg2LjAwNDYwNCAxMi41Mjg5MTQ3LDE4Ni4wMDQ2MDQgQzguMjg5ODcxNjEsMTg2LjAwNDYwNCA0LjEwODg4NDc0LDE4NS43NTY0NiAwLDE4NS4yNzE0MDkgQzIzLjI0MzEwMzMsMjAwLjE3MzEzOSA1MC44NTA3MjYxLDIwOC44Njc1MzIgODAuNTEwOTE4NSwyMDguODY3NTMyIEMxNzcuMTE2NTI5LDIwOC44Njc1MzIgMjI5Ljk0Mzk3NywxMjguODM2OTgyIDIyOS45NDM5NzcsNTkuNDMyNjAwMiBDMjI5Ljk0Mzk3Nyw1Ny4xNTUyOTY4IDIyOS44OTM0MTIsNTQuODkwMTY2NCAyMjkuNzkyMjgyLDUyLjYzODE0NTQgQzI0MC4wNTMyNTcsNDUuMjMzMTYzNSAyNDguOTU4MzM4LDM1Ljk4MjU1NDUgMjU2LDI1LjQ1MDAyNTkiIGZpbGw9IiM1NWFjZWUiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Twitter" camel.apache.org/kamelet.namespace: "Social" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Twitter Search Source" description: Allows to get all tweets on particular keywords from Twitter. required: - keywords - apiKey - apiKeySecret - accessToken - accessTokenSecret type: object properties: keywords: title: Keywords description: The keywords to use in the Twitter search (Supports Twitter standard operators) type: string example: "Apache Camel" apiKey: title: API Key description: The API Key from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials apiKeySecret: title: API Key Secret description: The API Key Secret from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials accessToken: title: Access Token description: The Access Token from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials accessTokenSecret: title: Access Token Secret description: The Access Token Secret from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:twitter" - "camel:kamelet" template: from: uri: "twitter-search:{{keywords}}" parameters: accessToken: "{{accessToken}}" accessTokenSecret: "{{accessTokenSecret}}" consumerKey: "{{apiKey}}" consumerSecret: "{{apiKeySecret}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: twitter-timeline-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9IjI1NnB4IiBoZWlnaHQ9IjIwOXB4IiB2aWV3Qm94PSIwIDAgMjU2IDIwOSIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJ4TWlkWU1pZCI+CiAgICA8Zz4KICAgICAgICA8cGF0aCBkPSJNMjU2LDI1LjQ1MDAyNTkgQzI0Ni41ODA4NDEsMjkuNjI3MjY3MiAyMzYuNDU4NDUxLDMyLjQ1MDQ4NjggMjI1LjgzNDE1NiwzMy43MjAyMzMzIEMyMzYuNjc4NTAzLDI3LjIxOTgwNTMgMjQ1LjAwNTgzLDE2LjkyNjk5MjkgMjQ4LjkyNzQzNyw0LjY2MzA3Njg1IEMyMzguNzc5NzY1LDEwLjY4MTI2MzMgMjI3LjUzOTMyNSwxNS4wNTIzMzc2IDIxNS41NzU5OSwxNy40MDgyOTggQzIwNS45OTQ4MzUsNy4yMDA2OTcxIDE5Mi4zNDUwNiwwLjgyMiAxNzcuMjM5MTk3LDAuODIyIEMxNDguMjMyNjA1LDAuODIyIDEyNC43MTYwNzYsMjQuMzM3NTkzMSAxMjQuNzE2MDc2LDUzLjM0MjMxMTYgQzEyNC43MTYwNzYsNTcuNDU4Njg3NSAxMjUuMTgxNDYyLDYxLjQ2NzM3ODQgMTI2LjA3NjY1Miw2NS4zMTEyNjQ0IEM4Mi40MjU4Mzg1LDYzLjEyMTA0NTMgNDMuNzI1NzI1Miw0Mi4yMTE0MjkgMTcuODIxMzk4LDEwLjQzNTkyODggQzEzLjMwMDUwMTEsMTguMTkyOTkzOCAxMC43MTA0NDMsMjcuMjE1MTIzNCAxMC43MTA0NDMsMzYuODQwMjg4OSBDMTAuNzEwNDQzLDU1LjA2MTUyNiAxOS45ODM1MjU0LDcxLjEzNzQ5MDcgMzQuMDc2MjEzNSw4MC41NTU3MTM3IEMyNS40NjYwOTYxLDgwLjI4MzIyMzkgMTcuMzY4MTg0Niw3Ny45MjA3MDg4IDEwLjI4NjI1NzcsNzMuOTg2OTI5MiBDMTAuMjgyNTEyMiw3NC4yMDYwNDQ4IDEwLjI4MjUxMjIsNzQuNDI2MDk2NyAxMC4yODI1MTIyLDc0LjY0NzA4NSBDMTAuMjgyNTEyMiwxMDAuMDk0NDUzIDI4LjM4NjcwMDMsMTIxLjMyMjQ0MyA1Mi40MTM1NjMsMTI2LjE0NjczIEM0OC4wMDU5Njk1LDEyNy4zNDcxODQgNDMuMzY2MTUwOSwxMjcuOTg4NjEyIDM4LjU3NTU3MzQsMTI3Ljk4ODYxMiBDMzUuMTkxNDU1NCwxMjcuOTg4NjEyIDMxLjkwMDk3NjYsMTI3LjY1OTkzOCAyOC42OTQ3NzMsMTI3LjA0NjYwMiBDMzUuMzc3Nzk3MywxNDcuOTEzMTQ1IDU0Ljc3NDIwNTMsMTYzLjA5NzY2NSA3Ny43NTY5OTE4LDE2My41MjE4NSBDNTkuNzgyMDI1NywxNzcuNjA3OTgzIDM3LjEzNTQwMzYsMTg2LjAwNDYwNCAxMi41Mjg5MTQ3LDE4Ni4wMDQ2MDQgQzguMjg5ODcxNjEsMTg2LjAwNDYwNCA0LjEwODg4NDc0LDE4NS43NTY0NiAwLDE4NS4yNzE0MDkgQzIzLjI0MzEwMzMsMjAwLjE3MzEzOSA1MC44NTA3MjYxLDIwOC44Njc1MzIgODAuNTEwOTE4NSwyMDguODY3NTMyIEMxNzcuMTE2NTI5LDIwOC44Njc1MzIgMjI5Ljk0Mzk3NywxMjguODM2OTgyIDIyOS45NDM5NzcsNTkuNDMyNjAwMiBDMjI5Ljk0Mzk3Nyw1Ny4xNTUyOTY4IDIyOS44OTM0MTIsNTQuODkwMTY2NCAyMjkuNzkyMjgyLDUyLjYzODE0NTQgQzI0MC4wNTMyNTcsNDUuMjMzMTYzNSAyNDguOTU4MzM4LDM1Ljk4MjU1NDUgMjU2LDI1LjQ1MDAyNTkiIGZpbGw9IiM1NWFjZWUiPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Twitter" camel.apache.org/kamelet.namespace: "Social" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Twitter Timeline Source" description: Allows to get tweets from the timeline of a specific user from Twitter. required: - user - apiKey - apiKeySecret - accessToken - accessTokenSecret type: object properties: user: title: User description: The user we want to read the timeline type: string example: "ApacheCamel" apiKey: title: API Key description: The API Key from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials apiKeySecret: title: API Key Secret description: The API Key Secret from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials accessToken: title: Access Token description: The Access Token from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials accessTokenSecret: title: Access Token Secret description: The Access Token Secret from the Twitter application in the developer portal type: string format: password x-descriptors: - urn:camel:group:credentials types: out: mediaType: application/json dependencies: - "camel:jackson" - "camel:twitter" - "camel:kamelet" template: from: uri: "twitter-timeline:user" parameters: user: "{{user}}" accessToken: "{{accessToken}}" accessTokenSecret: "{{accessTokenSecret}}" consumerKey: "{{apiKey}}" consumerSecret: "{{apiKeySecret}}" steps: - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: value-to-key-action labels: camel.apache.org/kamelet.type: "action" annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Kafka" spec: definition: title: "Value to Key Action" description: "Replace the Kafka record key with a new key formed from a fields subset coming from the message body." required: - fields properties: fields: title: Fields description: Comma separated list of fields to be used to form the new key. type: string type: object dependencies: - "camel:core" - "camel:jackson" - "camel:kamelet" - "camel:kafka" template: from: uri: kamelet:source steps: - choice: when: - simple: "${header[Content-Type]} == 'application/json'" steps: - setProperty: name: deserialized constant: "true" - unmarshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setProperty: name: "fields" constant: "{{fields}}" - bean: "org.apache.camel.component.kafka.transform.ValueToKey" - choice: when: - simple: "${exchangeProperty[deserialized]} == 'true'" steps: - marshal: json: library: Jackson unmarshalType: com.fasterxml.jackson.databind.JsonNode - setHeader: name: "Content-Type" constant: "application/json" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: velocity-template-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "Velocity Template Action" description: Apply a Velocity Template. required: - template type: object properties: template: title: Template description: The inline template type: string example: "file:////template.vm" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:velocity" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "velocity:" parameters: resourceUri: "{{template}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: webhook-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9Ijk0NCAtNzcxIDI1MDAgMjMzNCI+PHBhdGggZD0iTTIxMTEuNCAyMTAuNWMtMTAzLjYgMTc0LjItMjAyLjkgMzQyLjktMzA0LjIgNTEwLjMtMjYgNDMtMzguOSA3OC0xOC4xIDEzMi42IDU3LjQgMTUwLjktMjMuNiAyOTcuOC0xNzUuOCAzMzcuNi0xNDMuNSAzNy42LTI4My40LTU2LjctMzExLjgtMjEwLjQtMjUuMi0xMzYgODAuMy0yNjkuMyAyMzAuMy0yOTAuNiAxMi42LTEuOCAyNS40LTIgNDYuNS0zLjZsMjI4LjEtMzgyLjVjLTE0My41LTE0Mi43LTIyOC45LTMwOS40LTIxMC01MTYgMTMuNC0xNDYuMSA3MC44LTI3Mi4zIDE3NS44LTM3NS44IDIwMS0xOTguMSA1MDcuOC0yMzAuMiA3NDQuNS03OC4xIDIyNy40IDE0Ni4xIDMzMS41IDQzMC42IDI0Mi44IDY3NC4xLTY2LjktMTguMS0xMzQuMy0zNi40LTIwOC40LTU2LjUgMjcuOS0xMzUuNCA3LjMtMjU3LTg0LjEtMzYxLjEtNjAuMy02OC44LTEzNy44LTEwNC44LTIyNS44LTExOC4xLTE3Ni41LTI2LjctMzQ5LjggODYuNy00MDEuMiAyNTkuOS01OC4zIDE5Ni42IDMwIDM1Ny4yIDI3MS40IDQ3OC4yeiIgZmlsbD0iI2M3M2E2MyIvPjxwYXRoIGQ9Ik0yNDA3LjMgNC41YzczIDEyOC44IDE0Ny4xIDI1OS41IDIyMC42IDM4OSAzNzEuMy0xMTQuOSA2NTEuMiA5MC43IDc1MS43IDMxMC43IDEyMS4zIDI2NS44IDM4LjQgNTgwLjYtMTk5LjkgNzQ0LjYtMjQ0LjUgMTY4LjMtNTUzLjggMTM5LjYtNzcwLjQtNzYuNyA1NS4yLTQ2LjIgMTEwLjctOTIuNiAxNzAtMTQyLjIgMjE0IDEzOC42IDQwMS4xIDEzMi4xIDU0MC4xLTMyLjEgMTE4LjUtMTQwIDExNS45LTM0OC44LTYtNDg1LjgtMTQwLjctMTU4LjItMzI5LjItMTYzLTU1Ny0xMS4yLTk0LjUtMTY3LjctMTkwLjYtMzM0LTI4Mi4yLTUwMi44LTMwLjktNTYuOS02NC45LTg5LjktMTM0LjUtMTAyLTExNi4xLTIwLjEtMTkxLjEtMTE5LjktMTk1LjYtMjMxLjYtNC40LTExMC41IDYwLjctMjEwLjQgMTYyLjQtMjQ5LjMgMTAwLjgtMzguNiAyMTkuMS03LjQgMjg2LjkgNzguMyA1NS40IDcwIDczIDE0OC44IDQzLjkgMjM1LjItOC4xIDI0LjEtMTguNiA0Ny40LTMwIDc1Ljl6IiBmaWxsPSIjNGI0YjRiIi8+PHBhdGggZD0iTTI1ODEuOCAxMDU3LjJoLTQ0N2MtNDIuOCAxNzYuMi0xMzUuNCAzMTguNS0yOTQuOCA0MDguOS0xMjQgNzAuMy0yNTcuNSA5NC4yLTM5OS43IDcxLjItMjYxLjgtNDIuMi00NzUuOS0yNzcuOS00OTQuNy01NDMuMy0yMS4zLTMwMC42IDE4NS4zLTU2Ny44IDQ2MC43LTYyNy45IDE5IDY5LjEgMzguMiAxMzguOCA1Ny4yIDIwNy43LTI1Mi43IDEyOC45LTM0MC4yIDI5MS40LTI2OS40IDQ5NC41IDYyLjMgMTc4LjggMjM5LjEgMjc2LjcgNDMxLjEgMjM4LjggMTk2LjEtMzguNyAyOTUtMjAxLjcgMjgyLjktNDYzLjIgMTg1LjkgMCAzNzItMS45IDU1Ny45LjkgNzIuNiAxLjEgMTI4LjYtNi40IDE4My4zLTcwLjQgOTAtMTA1LjMgMjU1LjgtOTUuOCAzNTIuNyAzLjcgOTkuMSAxMDEuNyA5NC40IDI2NS4yLTEwLjUgMzYyLjYtMTAxLjIgOTMuOS0yNjEgODguOS0zNTUuNy0xMi4zLTE5LjUtMjAuOC0zNC44LTQ1LjUtNTQtNzEuMnoiIGZpbGw9IiM0YTRhNGEiLz48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Webhook" camel.apache.org/kamelet.namespace: "Cloud" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "Webhook Source" description: Creates an HTTP endpoint that can be used as a bridge to forward data to the Kamelet sink. type: object properties: subpath: title: Subpath description: | The subpath where the webhook is registered type: string default: "webhook" dependencies: - "camel:platform-http" - "camel:kamelet" template: from: uri: "platform-http:///{{subpath}}" steps: - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: wttrin-source annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PHN2ZyBhcmlhLWhpZGRlbj0idHJ1ZSIgZm9jdXNhYmxlPSJmYWxzZSIgZGF0YS1wcmVmaXg9ImZhcyIgZGF0YS1pY29uPSJjbG91ZC1zdW4iIGNsYXNzPSJzdmctaW5saW5lLS1mYSBmYS1jbG91ZC1zdW4iIHJvbGU9ImltZyIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgNjQwIDUxMiI+PHBhdGggZmlsbD0iY3VycmVudENvbG9yIiBkPSJNOTYgMjA4YzAtNjEuODYgNTAuMTQtMTExLjEgMTExLjEtMTExLjFjNTIuNjUgMCA5Ni41IDM2LjQ1IDEwOC41IDg1LjQyQzMzNC43IDE3My4xIDM1NC43IDE2OCAzNzUuMSAxNjhjNC42MDcgMCA5LjE1MiAuMzgwOSAxMy42OCAuODIwM2wyNC4xMy0zNC43NmM1LjE0NS03LjQxNCAuODk2NS0xNy42Ny03Ljk4NC0xOS4yN0wzMTcuMiA5OC43OEwzMDEuMiAxMC4yMUMyOTkuNiAxLjMyNSAyODkuNC0yLjkxOSAyODEuOSAyLjIyNkwyMDggNTMuNTRMMTM0LjEgMi4yMjVDMTI2LjYtMi45MiAxMTYuNCAxLjMyNiAxMTQuOCAxMC4yMUw5OC43OCA5OC43OEwxMC4yMSAxMTQuOEMxLjMyNiAxMTYuNC0yLjkyMiAxMjYuNyAyLjIyMyAxMzQuMWw1MS4zIDczLjk0TDIuMjI0IDI4MS45Yy01LjE0NSA3LjQxNC0uODk3NSAxNy42NyA3Ljk4MyAxOS4yN0w5OC43OCAzMTcuMmwxNi4wMSA4OC41OGMxLjYwNCA4Ljg4MSAxMS44NiAxMy4xMyAxOS4yNyA3Ljk4MmwxMC43MS03LjQzMmMyLjcyNS0zNS4xNSAxOS44NS02Ni41MSA0NS44My04OC4xQzEzNy4xIDMwOS44IDk2IDI2My45IDk2IDIwOHpNMTI4IDIwOGMwIDQ0LjE4IDM1LjgyIDgwIDgwIDgwYzkuNzI5IDAgMTguOTMtMS45OTYgMjcuNTYtNS4xNzZjNy4wMDItMzMuNjUgMjUuNTMtNjIuODUgNTEuNTctODMuNDRDMjgyLjggMTU5LjMgMjQ5LjIgMTI4IDIwOCAxMjhDMTYzLjggMTI4IDEyOCAxNjMuOCAxMjggMjA4ek01NzUuMiAzMjUuNmMuMTI1LTIgLjc0NTMtMy43NDQgLjc0NTMtNS42MTljMC0zNS4zOC0yOC43NS02NC02My4xLTY0Yy0xMi42MiAwLTI0LjI1IDMuNzQ5LTM0LjEzIDkuOTk5Yy0xNy42Mi0zOC44OC01Ni41LTY1LjEtMTAxLjktNjUuMWMtNjEuNzUgMC0xMTIgNTAuMTItMTEyIDExMS4xYzAgMyAuNzUyMiA1Ljc0MyAuODc3MiA4LjYxOGMtNDkuNjMgMy43NS04OC44OCA0NC43NC04OC44OCA5NS4zN0MxNzUuMSA0NjkgMjE4LjEgNTEyIDI3MS4xIDUxMmgyNzJjNTMgMCA5Ni00Mi45OSA5Ni05NS45OUM2MzkuMSAzNzMuOSA2MTIuNyAzMzguNiA1NzUuMiAzMjUuNnoiPjwvcGF0aD48L3N2Zz4=" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Weather" camel.apache.org/kamelet.namespace: "Dataset" labels: camel.apache.org/kamelet.type: "source" spec: definition: title: "wttr.in Source" description: Get weather forecasts from the wttr.in weather forecast service type: object properties: period: title: Period description: The interval between fetches to the wttr.in service in milliseconds type: integer default: 60000 wttrLocation: title: Location description: The location to get weather forecasts type: string example: '"paris", "~Eiffel+tower", "Москва", "muc", "@stackoverflow.com", "94107", "-78.46,106.79"' wttrLanguage: title: Language description: The language to use for displaying weather forecasts type: string example: 'am ar af be bn ca da de el et fr fa hi hu ia id it lt mg nb nl oc pl pt-br ro ru ta tr th uk vi zh-cn zh-tw' output: title: Output Type description: The type of output type: string example: 'current, weather, full' default: current types: out: mediaType: application/json dependencies: - "camel:core" - "camel:http" - "camel:jackson" - "camel:jsonpath" - "camel:kamelet" - "camel:timer" template: from: uri: timer:wttr.in parameters: period: "{{period}}" steps: - to: "https://wttr.in/{{?wttrLocation}}?format=j1&lang={{?wttrLanguage}}" - choice: when: - simple: "'{{output}}' == 'current'" steps: - transform: jsonpath: "$.current_condition[0]" - marshal: json: {} - simple: "'{{output}}' == 'weather'" steps: - transform: jsonpath: "$.weather" - marshal: json: {} - to: "kamelet:sink" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: xj-identity-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "XJ Identity Action" description: Apply the XJ Identity Transformation to transform JSON to XML and XML to JSON. required: - direction type: object properties: direction: title: Direction description: The transform direction. type: string enum: ["XML2JSON", "JSON2XML"] dependencies: - "camel:xj" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "xj:identity" parameters: transformDirection: "{{direction}}" --- apiVersion: camel.apache.org/v1 kind: Kamelet metadata: name: xj-template-action annotations: camel.apache.org/kamelet.support.level: "Stable" camel.apache.org/catalog.version: "4.14.2" camel.apache.org/kamelet.icon: "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICB4bWxuczpjYz0iaHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbnMjIgogICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCiAgIHhtbG5zOnN2Zz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCiAgIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIKICAgeG1sbnM6c29kaXBvZGk9Imh0dHA6Ly9zb2RpcG9kaS5zb3VyY2Vmb3JnZS5uZXQvRFREL3NvZGlwb2RpLTAuZHRkIgogICB4bWxuczppbmtzY2FwZT0iaHR0cDovL3d3dy5pbmtzY2FwZS5vcmcvbmFtZXNwYWNlcy9pbmtzY2FwZSIKICAgdmlld0JveD0iMCAtMjU2IDE3OTIgMTc5MiIKICAgaWQ9InN2ZzMwMjUiCiAgIHZlcnNpb249IjEuMSIKICAgaW5rc2NhcGU6dmVyc2lvbj0iMC40OC4zLjEgcjk4ODYiCiAgIHdpZHRoPSIxMDAlIgogICBoZWlnaHQ9IjEwMCUiCiAgIHNvZGlwb2RpOmRvY25hbWU9ImNvZ19mb250X2F3ZXNvbWUuc3ZnIj4KICA8bWV0YWRhdGEKICAgICBpZD0ibWV0YWRhdGEzMDM1Ij4KICAgIDxyZGY6UkRGPgogICAgICA8Y2M6V29yawogICAgICAgICByZGY6YWJvdXQ9IiI+CiAgICAgICAgPGRjOmZvcm1hdD5pbWFnZS9zdmcreG1sPC9kYzpmb3JtYXQ+CiAgICAgICAgPGRjOnR5cGUKICAgICAgICAgICByZGY6cmVzb3VyY2U9Imh0dHA6Ly9wdXJsLm9yZy9kYy9kY21pdHlwZS9TdGlsbEltYWdlIiAvPgogICAgICA8L2NjOldvcms+CiAgICA8L3JkZjpSREY+CiAgPC9tZXRhZGF0YT4KICA8ZGVmcwogICAgIGlkPSJkZWZzMzAzMyIgLz4KICA8c29kaXBvZGk6bmFtZWR2aWV3CiAgICAgcGFnZWNvbG9yPSIjZmZmZmZmIgogICAgIGJvcmRlcmNvbG9yPSIjNjY2NjY2IgogICAgIGJvcmRlcm9wYWNpdHk9IjEiCiAgICAgb2JqZWN0dG9sZXJhbmNlPSIxMCIKICAgICBncmlkdG9sZXJhbmNlPSIxMCIKICAgICBndWlkZXRvbGVyYW5jZT0iMTAiCiAgICAgaW5rc2NhcGU6cGFnZW9wYWNpdHk9IjAiCiAgICAgaW5rc2NhcGU6cGFnZXNoYWRvdz0iMiIKICAgICBpbmtzY2FwZTp3aW5kb3ctd2lkdGg9IjY0MCIKICAgICBpbmtzY2FwZTp3aW5kb3ctaGVpZ2h0PSI0ODAiCiAgICAgaWQ9Im5hbWVkdmlldzMwMzEiCiAgICAgc2hvd2dyaWQ9ImZhbHNlIgogICAgIGlua3NjYXBlOnpvb209IjAuMTMxNjk2NDMiCiAgICAgaW5rc2NhcGU6Y3g9Ijg5NiIKICAgICBpbmtzY2FwZTpjeT0iODk2IgogICAgIGlua3NjYXBlOndpbmRvdy14PSIwIgogICAgIGlua3NjYXBlOndpbmRvdy15PSIyNSIKICAgICBpbmtzY2FwZTp3aW5kb3ctbWF4aW1pemVkPSIwIgogICAgIGlua3NjYXBlOmN1cnJlbnQtbGF5ZXI9InN2ZzMwMjUiIC8+CiAgPGcKICAgICB0cmFuc2Zvcm09Im1hdHJpeCgxLDAsMCwtMSwxMjEuNDkxNTMsMTI4NS40MjM3KSIKICAgICBpZD0iZzMwMjciPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTAyNCw2NDAgcSAwLDEwNiAtNzUsMTgxIC03NSw3NSAtMTgxLDc1IC0xMDYsMCAtMTgxLC03NSAtNzUsLTc1IC03NSwtMTgxIDAsLTEwNiA3NSwtMTgxIDc1LC03NSAxODEsLTc1IDEwNiwwIDE4MSw3NSA3NSw3NSA3NSwxODEgeiBtIDUxMiwxMDkgViA1MjcgcSAwLC0xMiAtOCwtMjMgLTgsLTExIC0yMCwtMTMgbCAtMTg1LC0yOCBxIC0xOSwtNTQgLTM5LC05MSAzNSwtNTAgMTA3LC0xMzggMTAsLTEyIDEwLC0yNSAwLC0xMyAtOSwtMjMgLTI3LC0zNyAtOTksLTEwOCAtNzIsLTcxIC05NCwtNzEgLTEyLDAgLTI2LDkgbCAtMTM4LDEwOCBxIC00NCwtMjMgLTkxLC0zOCAtMTYsLTEzNiAtMjksLTE4NiAtNywtMjggLTM2LC0yOCBIIDY1NyBxIC0xNCwwIC0yNC41LDguNSBRIDYyMiwtMTExIDYyMSwtOTggTCA1OTMsODYgcSAtNDksMTYgLTkwLDM3IEwgMzYyLDE2IFEgMzUyLDcgMzM3LDcgMzIzLDcgMzEyLDE4IDE4NiwxMzIgMTQ3LDE4NiBxIC03LDEwIC03LDIzIDAsMTIgOCwyMyAxNSwyMSA1MSw2Ni41IDM2LDQ1LjUgNTQsNzAuNSAtMjcsNTAgLTQxLDk5IEwgMjksNDk1IFEgMTYsNDk3IDgsNTA3LjUgMCw1MTggMCw1MzEgdiAyMjIgcSAwLDEyIDgsMjMgOCwxMSAxOSwxMyBsIDE4NiwyOCBxIDE0LDQ2IDM5LDkyIC00MCw1NyAtMTA3LDEzOCAtMTAsMTIgLTEwLDI0IDAsMTAgOSwyMyAyNiwzNiA5OC41LDEwNy41IDcyLjUsNzEuNSA5NC41LDcxLjUgMTMsMCAyNiwtMTAgbCAxMzgsLTEwNyBxIDQ0LDIzIDkxLDM4IDE2LDEzNiAyOSwxODYgNywyOCAzNiwyOCBoIDIyMiBxIDE0LDAgMjQuNSwtOC41IFEgOTE0LDEzOTEgOTE1LDEzNzggbCAyOCwtMTg0IHEgNDksLTE2IDkwLC0zNyBsIDE0MiwxMDcgcSA5LDkgMjQsOSAxMywwIDI1LC0xMCAxMjksLTExOSAxNjUsLTE3MCA3LC04IDcsLTIyIDAsLTEyIC04LC0yMyAtMTUsLTIxIC01MSwtNjYuNSAtMzYsLTQ1LjUgLTU0LC03MC41IDI2LC01MCA0MSwtOTggbCAxODMsLTI4IHEgMTMsLTIgMjEsLTEyLjUgOCwtMTAuNSA4LC0yMy41IHoiCiAgICAgICBpZD0icGF0aDMwMjkiCiAgICAgICBpbmtzY2FwZTpjb25uZWN0b3ItY3VydmF0dXJlPSIwIgogICAgICAgc3R5bGU9ImZpbGw6Y3VycmVudENvbG9yIiAvPgogIDwvZz4KPC9zdmc+Cg==" camel.apache.org/provider: "Apache Software Foundation" camel.apache.org/kamelet.group: "Actions" camel.apache.org/kamelet.namespace: "Transformation" labels: camel.apache.org/kamelet.type: "action" spec: definition: title: "XJ Template Action" description: Apply the XJ Template Transformation to transform JSON to XML and XML to JSON. required: - direction - template type: object properties: direction: title: Direction description: The transform direction. type: string enum: ["XML2JSON", "JSON2XML"] template: title: Template description: The inline template to apply a transformation through template. type: string example: "file:////template.vm" pattern: "^(http|https|file|classpath|ref|bean)://.*" dependencies: - "camel:xj" - "camel:kamelet" template: from: uri: "kamelet:source" steps: - to: uri: "xj:" parameters: resourceUri: "{{template}}" transformDirection: "{{direction}}"