diff --git a/kamelet.json b/kamelet.json new file mode 100644 index 0000000..61e868d --- /dev/null +++ b/kamelet.json @@ -0,0 +1,161 @@ +{ + "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.22.1", + "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}}" + } + } + } + ] + } + } + }, + "propertiesSchema": { + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "title": "Azure Eventhubs Sink", + "description": "Send events to Azure Event Hubs.", + "required": [ + "namespaceName", + "eventhubName" + ], + "properties": { + "namespaceName": { + "type": "string", + "title": "Eventhubs Namespace", + "description": "The Event Hubs namespace." + }, + "eventhubName": { + "type": "string", + "title": "Eventhubs Name", + "description": "The Event Hub name." + }, + "sharedAccessName": { + "type": "string", + "title": "Share Access Name", + "description": "The Event Hubs SAS key name." + }, + "sharedAccessKey": { + "type": "string", + "title": "Share Access Key", + "description": "The key for the Event Hubs SAS key name.", + "format": "password" + }, + "credentialType": { + "type": "string", + "title": "Credential Type", + "description": "Determines the credential strategy to adopt.", + "enum": [ + "CONNECTION_STRING", + "AZURE_IDENTITY" + ], + "default": "CONNECTION_STRING" + } + } + } +} \ No newline at end of file