diff --git a/connectors/automation-anywhere/element-templates/hybrid/automation-anywhere-outbound-connector-hybrid.json b/connectors/automation-anywhere/element-templates/hybrid/automation-anywhere-outbound-connector-hybrid.json new file mode 100644 index 0000000000..22d6fb1b98 --- /dev/null +++ b/connectors/automation-anywhere/element-templates/hybrid/automation-anywhere-outbound-connector-hybrid.json @@ -0,0 +1,377 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Automation Anywhere Outbound Connector", + "id" : "io.camunda.connectors.AutomationAnywhere-hybrid", + "description" : "Orchestrate your Automation Anywhere bots with Camunda. You can create new queue items and get the result from it", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/automation-anywhere/", + "version" : 2, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:Task" ], + "elementType" : { + "value" : "bpmn:ServiceTask" + }, + "groups" : [ { + "id" : "taskDefinitionType", + "label" : "Task definition type" + }, { + "id" : "operation", + "label" : "Operation" + }, { + "id" : "configuration", + "label" : "Configuration" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "input", + "label" : "Input" + }, { + "id" : "timeout", + "label" : "Timeout" + }, { + "id" : "output", + "label" : "Output mapping" + }, { + "id" : "error", + "label" : "Error handling" + }, { + "id" : "retries", + "label" : "Retries" + } ], + "properties" : [ { + "id" : "taskDefinitionType", + "value" : "io.camunda:connector-automationanywhere:1", + "group" : "taskDefinitionType", + "binding" : { + "property" : "type", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "operation.type", + "label" : "Type", + "group" : "operation", + "binding" : { + "name" : "operation.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Add work item to the queue", + "value" : "addWorkItemsToTheQueue" + }, { + "name" : "Get work item result from queue by ID", + "value" : "listWorkItemsInQueue" + } ] + }, { + "id" : "configuration.controlRoomUrl", + "label" : "Control room URL", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "configuration", + "binding" : { + "name" : "configuration.controlRoomUrl", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Type", + "description" : "Choose the authentication type. Details in the documentation", + "value" : "passwordBasedAuthentication", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Authenticate (username and password)", + "value" : "passwordBasedAuthentication" + }, { + "name" : "Authenticate (username and API key)", + "value" : "apiKeyAuthentication" + }, { + "name" : "Authentication (refresh) token", + "value" : "tokenBasedAuthentication" + } ] + }, { + "id" : "authentication.passwordBassesUsername", + "label" : "Username", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.username", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "passwordBasedAuthentication", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.password", + "label" : "Password", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.password", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "passwordBasedAuthentication", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.multipleLogin", + "label" : "Multiple login", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.multipleLogin", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "passwordBasedAuthentication", + "type" : "simple" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "TRUE", + "value" : "true" + }, { + "name" : "FALSE", + "value" : "false" + } ] + }, { + "id" : "authentication.apiUsername", + "label" : "Username", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.username", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "apiKeyAuthentication", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.apiKey", + "label" : "API key", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.apiKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "apiKeyAuthentication", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.token", + "label" : "Token", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.token", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "tokenBasedAuthentication", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "operation.queueId", + "label" : "Work queue ID", + "description" : "The queue ID of the item", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "operation.queueId", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "operation.type", + "equals" : "addWorkItemsToTheQueue", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "operation.data", + "label" : "Work item json data", + "description" : "Work item json input data. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "operation.data", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "operation.type", + "equals" : "addWorkItemsToTheQueue", + "type" : "simple" + }, + "type" : "Text" + }, { + "id" : "operation.workQueueId", + "label" : "Work queue ID", + "description" : "The queue ID of the item", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "operation.queueId", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "operation.type", + "equals" : "listWorkItemsInQueue", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "operation.workItemId", + "label" : "Work item ID", + "description" : "The queue item identifier to be fetched from queue", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "operation.workItemId", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "operation.type", + "equals" : "listWorkItemsInQueue", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "configuration.connectionTimeoutInSeconds", + "label" : "Connection timeout in seconds", + "description" : "Sets the timeout in seconds to establish a connection or 0 for an infinite timeout", + "optional" : true, + "value" : "20", + "feel" : "optional", + "group" : "timeout", + "binding" : { + "name" : "configuration.connectionTimeoutInSeconds", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "key" : "resultVariable", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "key" : "resultExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "errorExpression", + "label" : "Error expression", + "description" : "Expression to handle errors. Details in the documentation.", + "feel" : "required", + "group" : "error", + "binding" : { + "key" : "errorExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "retryCount", + "label" : "Retries", + "description" : "Number of retries", + "value" : "3", + "feel" : "optional", + "group" : "retries", + "binding" : { + "property" : "retries", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "retryBackoff", + "label" : "Retry backoff", + "description" : "ISO-8601 duration to wait between retries", + "value" : "PT0S", + "feel" : "optional", + "group" : "retries", + "binding" : { + "key" : "retryBackoff", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PScwIDAgNjUyIDY1Micgc3R5bGU9J2VuYWJsZS1iYWNrZ3JvdW5kOm5ldyAwIDAgNjUyIDY1MjsnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zyc+CiAgICA8ZGVmcz4KICAgICAgICA8c3R5bGUgdHlwZT0ndGV4dC9jc3MnPi5zdDB7Y2xpcC1wYXRoOnVybCgjU1ZHSURfMl8pO2ZpbGw6dXJsKCNTVkdJRF8zXyk7fSAuc3Qxe29wYWNpdHk6MC4zO30KICAgICAgICAgICAgLnN0MntjbGlwLXBhdGg6dXJsKCNTVkdJRF81Xyk7ZmlsbDp1cmwoI1NWR0lEXzZfKTt9IC5zdDN7ZmlsbDojNDA0MDQxO30gLnN0NHtmaWxsOiNGNzk4Mzc7fQogICAgICAgIDwvc3R5bGU+CiAgICA8L2RlZnM+CiAgICA8ZyBzdHlsZT0nJyB0cmFuc2Zvcm09J21hdHJpeCgyLjgzODk0NiwgMCwgMCwgMi44MDcxMjYsIC00NC41MzQzNjMsIC01NzguMzQzMzg0KSc+CiAgICAgICAgPGc+CiAgICAgICAgICAgIDxkZWZzPgogICAgICAgICAgICAgICAgPHBhdGggaWQ9J1NWR0lEXzFfJwogICAgICAgICAgICAgICAgICAgICAgZD0nTTE5OS41LDQxMi43bC0wLjItMC41bC0wLjUtMWwtMTEuNy0zMS41YzExLjEsNS4xLDIxLjQsMTEuOCwzMC43LDIwLjFsMCwwYzEuMiwwLjksMi4yLDIuMiwzLDMuNyBjMC45LDEuNywxLjQsMy41LDEuNCw1LjVjMCw2LjQtNS4yLDExLjYtMTEuNiwxMS42QzIwNS41LDQyMC42LDIwMS4xLDQxNy40LDE5OS41LDQxMi43IE0xMDMuMywyMjkuNmMxLjUtNC4xLDQuOS02LjksOC43LTcgYzAsMCwwLjEsMCwwLjEsMGMzLjgsMC4yLDcuMiwyLjksOC43LDdsNDguMywxMzIuNmMtMTAuNy0yLjctMjEuNy00LjEtMzIuOS00LjFjLTIzLjUsMC00Ni43LDYuMi02Ni45LDE4IGMtOS44LDUuNy0xOC44LDEyLjctMjYuOSwyMC42TDEwMy4zLDIyOS42eiBNMTEwLjksMjEyYy03LjgsMC42LTE0LjcsNi0xNy42LDE0TDIxLDQyNC41Yy0xLDIuOCwwLjQsNS44LDMuMiw2LjggYzAuNiwwLjIsMS4yLDAuMywxLjgsMC4zYzEuNywwLDMuMy0wLjgsNC4zLTIuMmMwLjItMC4yLDAuMy0wLjQsMC41LTAuN2MxMC43LTE4LDI1LjgtMzMuMSw0My45LTQzLjYgYzE4LjYtMTAuOCwzOS45LTE2LjYsNjEuNi0xNi42YzEyLjksMCwyNS42LDIsMzcuNiw1LjlsMTUuMyw0MS4xbDAuNSwwLjljMy4yLDguOCwxMS41LDE0LjcsMjAuOSwxNC43YzEyLjMsMCwyMi4yLTEwLDIyLjItMjIuMiBjMC0zLjYtMC45LTcuMy0yLjYtMTAuNWMtMC43LTEuMi0xLjQtMi4zLTIuMi0zLjRjLTAuMy0wLjUtMC42LTEtMS0xLjRjLTEzLjEtMTIuMi0yOC40LTIxLjUtNDQuOS0yNy42bC0xLjEtMi44bC0wLjEsMCBMMTMwLjgsMjI2Yy0yLjktNy45LTkuNy0xMy4zLTE3LjYtMTRjLTAuMywwLTAuNi0wLjEtMC45LTAuMWMtMC4xLDAtMC4yLDAtMC4yLDBjLTAuMSwwLTAuMiwwLTAuMiwwIEMxMTEuNSwyMTEuOSwxMTEuMiwyMTIsMTEwLjksMjEyJy8+CiAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgPGNsaXBQYXRoIGlkPSdTVkdJRF8yXyc+CiAgICAgICAgICAgICAgICA8cGF0aCBkPSdNMTk5LjUsNDEyLjdsLTAuMi0wLjVsLTAuNS0xbC0xMS43LTMxLjVjMTEuMSw1LjEsMjEuNCwxMS44LDMwLjcsMjAuMWwwLDBjMS4yLDAuOSwyLjIsMi4yLDMsMy43IGMwLjksMS43LDEuNCwzLjUsMS40LDUuNWMwLDYuNC01LjIsMTEuNi0xMS42LDExLjZDMjA1LjUsNDIwLjYsMjAxLjEsNDE3LjQsMTk5LjUsNDEyLjcgTTEwMy4zLDIyOS42YzEuNS00LjEsNC45LTYuOSw4LjctNyBjMCwwLDAuMSwwLDAuMSwwYzMuOCwwLjIsNy4yLDIuOSw4LjcsN2w0OC4zLDEzMi42Yy0xMC43LTIuNy0yMS43LTQuMS0zMi45LTQuMWMtMjMuNSwwLTQ2LjcsNi4yLTY2LjksMTggYy05LjgsNS43LTE4LjgsMTIuNy0yNi45LDIwLjZMMTAzLjMsMjI5LjZ6IE0xMTAuOSwyMTJjLTcuOCwwLjYtMTQuNyw2LTE3LjYsMTRMMjEsNDI0LjVjLTEsMi44LDAuNCw1LjgsMy4yLDYuOCBjMC42LDAuMiwxLjIsMC4zLDEuOCwwLjNjMS43LDAsMy4zLTAuOCw0LjMtMi4yYzAuMi0wLjIsMC4zLTAuNCwwLjUtMC43YzEwLjctMTgsMjUuOC0zMy4xLDQzLjktNDMuNiBjMTguNi0xMC44LDM5LjktMTYuNiw2MS42LTE2LjZjMTIuOSwwLDI1LjYsMiwzNy42LDUuOWwxNS4zLDQxLjFsMC41LDAuOWMzLjIsOC44LDExLjUsMTQuNywyMC45LDE0LjdjMTIuMywwLDIyLjItMTAsMjIuMi0yMi4yIGMwLTMuNi0wLjktNy4zLTIuNi0xMC41Yy0wLjctMS4yLTEuNC0yLjMtMi4yLTMuNGMtMC4zLTAuNS0wLjYtMS0xLTEuNGMtMTMuMS0xMi4yLTI4LjQtMjEuNS00NC45LTI3LjZsLTEuMS0yLjhsLTAuMSwwIEwxMzAuOCwyMjZjLTIuOS03LjktOS43LTEzLjMtMTcuNi0xNGMtMC4zLDAtMC42LTAuMS0wLjktMC4xYy0wLjEsMC0wLjIsMC0wLjIsMGMtMC4xLDAtMC4yLDAtMC4yLDAgQzExMS41LDIxMS45LDExMS4yLDIxMiwxMTAuOSwyMTInCiAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09J21hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKScgc3R5bGU9J292ZXJmbG93OiB2aXNpYmxlOycvPgogICAgICAgICAgICA8L2NsaXBQYXRoPgogICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9J1NWR0lEXzNfJyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZScgeDE9Jy00LjkzOCcgeTE9Jzc0My4wMjAzJyB4Mj0nMS45NzkyJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgeTI9Jzc0My4wMjAzJyBncmFkaWVudFRyYW5zZm9ybT0nbWF0cml4KDMwLjY1OCAwIDAgLTMwLjY1OCAxNzIuMDgwMyAyMzEwMS4zNDE4KSc+CiAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9JzAnIHN0eWxlPSdzdG9wLWNvbG9yOiNGRkREMTUnLz4KICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMC4wMzQzJyBzdHlsZT0nc3RvcC1jb2xvcjojRkVEMjE3Jy8+CiAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9JzAuMTY2Mycgc3R5bGU9J3N0b3AtY29sb3I6I0ZBQUQxQycvPgogICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PScwLjMwNDknIHN0eWxlPSdzdG9wLWNvbG9yOiNGNjhGMjAnLz4KICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMC40NScgc3R5bGU9J3N0b3AtY29sb3I6I0YzNzgyNCcvPgogICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PScwLjYwNDUnIHN0eWxlPSdzdG9wLWNvbG9yOiNGMTY3MjYnLz4KICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMC43NzQ3JyBzdHlsZT0nc3RvcC1jb2xvcjojRjA1RDI4Jy8+CiAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9JzAuOTkxJyBzdHlsZT0nc3RvcC1jb2xvcjojRjA1QTI4Jy8+CiAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9JzEnIHN0eWxlPSdzdG9wLWNvbG9yOiNGMDVBMjgnLz4KICAgICAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgICAgICAgICAgPHJlY3QgeD0nMjAnIHk9JzIxMS45JyBjbGFzcz0nc3QwJyB3aWR0aD0nMjEyLjgnIGhlaWdodD0nMjE5LjcnLz4KICAgICAgICA8L2c+CiAgICAgICAgPGc+CiAgICAgICAgICAgIDxnIGNsYXNzPSdzdDEnPgogICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgPGc+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggaWQ9J1NWR0lEXzRfJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD0nTTE4Ny4zLDM4MC4zYzExLjEsNS4xLDIxLjQsMTEuOCwzMC43LDIwbDAsMGMxLjIsMSwyLjIsMi4yLDMsMy43YzAuOSwxLjcsMS40LDMuNSwxLjQsNS41SDIzMyBjMC0zLjYtMC45LTcuMy0yLjYtMTAuNWMtMC42LTEuMi0xLjQtMi4zLTIuMi0zLjRjLTAuMy0wLjUtMC42LTEtMS0xLjRjLTEzLjEtMTIuMi0yOC40LTIxLjUtNDQuOS0yNy42TDE4Ny4zLDM4MC4zeiBNNjkuNSwzNzYuN2MtOS44LDUuNy0xOC44LDEyLjctMjYuOSwyMC42bC0xMi4yLDMyLjhjMC4yLTAuMiwwLjMtMC40LDAuNS0wLjdjMTAuNy0xOCwyNS45LTMzLjEsNDMuOS00My42IGMxOC42LTEwLjgsMzkuOS0xNi42LDYxLjYtMTYuNmMxMi4xLDAsMjUuMSwxLjksMzcuNiw1LjlsLTQuNy0xMi40Yy0xMC43LTIuNy0yMS43LTQuMS0zMi45LTQuMSBDMTEyLjksMzU4LjcsODkuOCwzNjQuOSw2OS41LDM3Ni43Jy8+CiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz4KICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPSdTVkdJRF81Xyc+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPSdNMTg3LjMsMzgwLjNjMTEuMSw1LjEsMjEuNCwxMS44LDMwLjcsMjBsMCwwYzEuMiwxLDIuMiwyLjIsMywzLjdjMC45LDEuNywxLjQsMy41LDEuNCw1LjVIMjMzIGMwLTMuNi0wLjktNy4zLTIuNi0xMC41Yy0wLjYtMS4yLTEuNC0yLjMtMi4yLTMuNGMtMC4zLTAuNS0wLjYtMS0xLTEuNGMtMTMuMS0xMi4yLTI4LjQtMjEuNS00NC45LTI3LjZMMTg3LjMsMzgwLjN6IE02OS41LDM3Ni43Yy05LjgsNS43LTE4LjgsMTIuNy0yNi45LDIwLjZsLTEyLjIsMzIuOGMwLjItMC4yLDAuMy0wLjQsMC41LTAuN2MxMC43LTE4LDI1LjktMzMuMSw0My45LTQzLjYgYzE4LjYtMTAuOCwzOS45LTE2LjYsNjEuNi0xNi42YzEyLjEsMCwyNS4xLDEuOSwzNy42LDUuOWwtNC43LTEyLjRjLTEwLjctMi43LTIxLjctNC4xLTMyLjktNC4xIEMxMTIuOSwzNTguNyw4OS44LDM2NC45LDY5LjUsMzc2LjcnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09J21hdHJpeCgxLCAwLCAwLCAxLCAwLCAwKScgc3R5bGU9J292ZXJmbG93OiB2aXNpYmxlOycvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPgogICAgICAgICAgICAgICAgICAgICAgICA8bGluZWFyR3JhZGllbnQgaWQ9J1NWR0lEXzZfJyBncmFkaWVudFVuaXRzPSd1c2VyU3BhY2VPblVzZScgeDE9Jy01LjQwNDInIHkxPSc3NDEuNDczJwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeDI9JzEuNTEzMScgeTI9Jzc0MS40NzMnCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBncmFkaWVudFRyYW5zZm9ybT0nbWF0cml4KDI5LjI3NDggMCAwIC0yOS4yNzQ4IDE4OC43MTUyIDIyMTAwLjg0NzcpJz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMCcgc3R5bGU9J3N0b3AtY29sb3I6I0ZGRkZGRicvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PScwLjMyODUnIHN0eWxlPSdzdG9wLWNvbG9yOiNGRkZGRkYnLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMC4zNzQ1JyBzdHlsZT0nc3RvcC1jb2xvcjojRkJGQkZCJy8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9JzAuNDIzMycgc3R5bGU9J3N0b3AtY29sb3I6I0VFRUVFRScvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PScwLjQ3MzUnIHN0eWxlPSdzdG9wLWNvbG9yOiNEOUQ5RDknLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMC41MjQ2JyBzdHlsZT0nc3RvcC1jb2xvcjojQkNCQkJCJy8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9JzAuNTc2NCcgc3R5bGU9J3N0b3AtY29sb3I6Izk2OTU5NScvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PScwLjYyODgnIHN0eWxlPSdzdG9wLWNvbG9yOiM2ODY2NjYnLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMC42ODA4JyBzdHlsZT0nc3RvcC1jb2xvcjojMzMyRjMwJy8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3RvcCBvZmZzZXQ9JzAuNjk0OCcgc3R5bGU9J3N0b3AtY29sb3I6IzIzMUYyMCcvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PScwLjkzMDEnIHN0eWxlPSdzdG9wLWNvbG9yOiNGRkZGRkYnLz4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMScgc3R5bGU9J3N0b3AtY29sb3I6I0ZGRkZGRicvPgogICAgICAgICAgICAgICAgICAgICAgICA8L2xpbmVhckdyYWRpZW50PgogICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB4PSczMC41JyB5PSczNTguNycgY2xhc3M9J3N0Micgd2lkdGg9JzE4JyBoZWlnaHQ9JzE4Jy8+CiAgICAgICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICAgICAgPC9nPgogICAgICAgICAgICA8L2c+CiAgICAgICAgPC9nPgogICAgICAgIDxnLz4KICAgIDwvZz4KPC9zdmc+" + } +} \ No newline at end of file diff --git a/connectors/automation-anywhere/pom.xml b/connectors/automation-anywhere/pom.xml index 0a37f435b6..3833eff4bd 100644 --- a/connectors/automation-anywhere/pom.xml +++ b/connectors/automation-anywhere/pom.xml @@ -48,6 +48,7 @@ automation-anywhere-outbound-connector.json + true diff --git a/connectors/aws/aws-dynamodb/element-templates/hybrid/aws-dynamodb-outbound-connector-hybrid.json b/connectors/aws/aws-dynamodb/element-templates/hybrid/aws-dynamodb-outbound-connector-hybrid.json new file mode 100644 index 0000000000..fabf05d261 --- /dev/null +++ b/connectors/aws/aws-dynamodb/element-templates/hybrid/aws-dynamodb-outbound-connector-hybrid.json @@ -0,0 +1,1020 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid AWS DynamoDB Outbound Connector", + "id" : "io.camunda.connectors.AWSDynamoDB.v1-hybrid", + "description" : "Work with tables and items using AWS DynamoDB service", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/aws-dynamodb/", + "version" : 7, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:Task" ], + "elementType" : { + "value" : "bpmn:ServiceTask" + }, + "groups" : [ { + "id" : "taskDefinitionType", + "label" : "Task definition type" + }, { + "id" : "operation", + "label" : "Operation" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Queue properties" + }, { + "id" : "input", + "label" : "Input" + }, { + "id" : "output", + "label" : "Output mapping" + }, { + "id" : "error", + "label" : "Error handling" + }, { + "id" : "retries", + "label" : "Retries" + } ], + "properties" : [ { + "id" : "taskDefinitionType", + "value" : "io.camunda:aws-dynamodb:1", + "group" : "taskDefinitionType", + "binding" : { + "property" : "type", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "input.operationGroup", + "label" : "Choose category", + "group" : "operation", + "binding" : { + "name" : "input.operationGroup", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Table", + "value" : "tableOperation" + }, { + "name" : "Item", + "value" : "itemOperation" + } ] + }, { + "id" : "input.tableOperation", + "label" : "Select action", + "group" : "operation", + "binding" : { + "name" : "input.tableOperation", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Create table", + "value" : "createTable" + }, { + "name" : "Delete table", + "value" : "deleteTable" + }, { + "name" : "Describe table", + "value" : "describeTable" + }, { + "name" : "Scan table", + "value" : "scanTable" + } ] + }, { + "id" : "input.itemOperation", + "label" : "Select action", + "group" : "operation", + "binding" : { + "name" : "input.itemOperation", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Add item", + "value" : "addItem" + }, { + "name" : "Delete item", + "value" : "deleteItem" + }, { + "name" : "Get item", + "value" : "getItem" + }, { + "name" : "Update item", + "value" : "updateItem" + } ] + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:input" + }, + "type" : "Hidden" + }, { + "id" : "input.createTable.tableName", + "label" : "Table name", + "description" : "Name of DynamoDB table", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.tableName", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.partitionKey", + "label" : "Partition key", + "description" : "Partition key role. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.partitionKey", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.partitionKeyRole", + "label" : "Partition key role", + "description" : "The role that this key attribute will assume. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "input", + "binding" : { + "name" : "input.partitionKeyRole", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "HASH", + "value" : "HASH" + }, { + "name" : "RANGE", + "value" : "RANGE" + } ] + }, { + "id" : "input.partitionKeyType", + "label" : "Partition key attribute data type", + "description" : "Represents the data for an attribute", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "input", + "binding" : { + "name" : "input.partitionKeyType", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Binary", + "value" : "B" + }, { + "name" : "Number", + "value" : "N" + }, { + "name" : "String", + "value" : "S" + } ] + }, { + "id" : "input.sortKey", + "label" : "Sort key", + "description" : "Sort key. Details in the documentation", + "optional" : true, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.sortKey", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.sortKeyRole", + "label" : "Sort key role", + "description" : "The role that this key attribute will assume", + "optional" : true, + "group" : "input", + "binding" : { + "name" : "input.sortKeyRole", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "HASH", + "value" : "HASH" + }, { + "name" : "RANGE", + "value" : "RANGE" + } ] + }, { + "id" : "input.sortKeyType", + "label" : "Sort key attribute data type", + "description" : "Represents the data for an attribute", + "optional" : true, + "group" : "input", + "binding" : { + "name" : "input.sortKeyType", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Binary", + "value" : "B" + }, { + "name" : "Number", + "value" : "N" + }, { + "name" : "String", + "value" : "S" + } ] + }, { + "id" : "input.readCapacityUnits", + "label" : "Read capacity units", + "description" : "Total number of read capacity units. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.readCapacityUnits", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.writeCapacityUnits", + "label" : "Write capacity units", + "description" : "Total number of write capacity units. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.writeCapacityUnits", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.billingModeStr", + "label" : "Billing mode", + "description" : "Controls how you are charged for read and write throughput. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "input", + "binding" : { + "name" : "input.billingModeStr", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "PROVISIONED", + "value" : "PROVISIONED" + }, { + "name" : "PAY_PER_REQUEST", + "value" : "PAY_PER_REQUEST" + } ] + }, { + "id" : "input.deletionProtection", + "label" : "Deletion protection", + "description" : "Prevents accidental table deletion", + "optional" : false, + "value" : "false", + "constraints" : { + "notEmpty" : true + }, + "group" : "input", + "binding" : { + "name" : "input.deletionProtection", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "createTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "True", + "value" : "true" + }, { + "name" : "False", + "value" : "false" + } ] + }, { + "id" : "input.deleteTable.tableName", + "label" : "Table name", + "description" : "Name of DynamoDB table", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.tableName", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "deleteTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.describeTable.tableName", + "label" : "Table name", + "description" : "Name of DynamoDB table", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.tableName", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "describeTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.scanTable.tableName", + "label" : "Table name", + "description" : "Name of DynamoDB table", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.tableName", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "scanTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.filterExpression", + "label" : "Filter expression", + "description" : "Filter expressions for scan. Details in the documentation", + "optional" : true, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.filterExpression", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "scanTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.projectionExpression", + "label" : "Projection expression", + "description" : "Is a string that identifies the attributes that you want. For multiple attributes, the names must be comma-separated", + "optional" : true, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.projectionExpression", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "scanTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.expressionAttributeNames", + "label" : "Expression attribute names", + "description" : "Is a placeholder that you use as an alternative to an actual attribute name. Details in the documentation", + "optional" : true, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "input.expressionAttributeNames", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "scanTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.expressionAttributeValues", + "label" : "Expression attribute values", + "description" : "Expression attribute values. Details in the documentation", + "optional" : true, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "input.expressionAttributeValues", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.tableOperation", + "equals" : "scanTable", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "tableOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.addItem.tableName", + "label" : "Table name", + "description" : "Name of DynamoDB table", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.tableName", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "addItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.item", + "label" : "Item", + "description" : "DynamoDB item (group of attributes)", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "input.item", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "addItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.deleteItem.tableName", + "label" : "Table name", + "description" : "Name of DynamoDB table", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.tableName", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "deleteItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.deleteItem.primaryKeyComponents", + "label" : "Primary key components", + "description" : "Simple or composite primary key", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "input.primaryKeyComponents", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "deleteItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.getItem.tableName", + "label" : "Table name", + "description" : "Name of DynamoDB table", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.tableName", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "getItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.getItem.primaryKeyComponents", + "label" : "Primary key components", + "description" : "Simple or composite primary key", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "input.primaryKeyComponents", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "getItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.updateTable.tableName", + "label" : "Table name", + "description" : "Name of DynamoDB table", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "input.tableName", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "updateItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.updateItem.primaryKeyComponents", + "label" : "Primary key components", + "description" : "Simple or composite primary key", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "input.primaryKeyComponents", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "updateItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.keyAttributes", + "label" : "Key attributes", + "description" : "DynamoDB key attributes. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "input.keyAttributes", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "updateItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "String" + }, { + "id" : "input.attributeAction", + "label" : "Attribute action", + "description" : "Specifies how to perform the update", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "input", + "binding" : { + "name" : "input.attributeAction", + "type" : "zeebe:input" + }, + "condition" : { + "allMatch" : [ { + "property" : "input.itemOperation", + "equals" : "updateItem", + "type" : "simple" + }, { + "property" : "input.operationGroup", + "equals" : "itemOperation", + "type" : "simple" + } ] + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "PUT", + "value" : "put" + }, { + "name" : "DELETE", + "value" : "delete" + } ] + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "key" : "resultVariable", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "key" : "resultExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "errorExpression", + "label" : "Error expression", + "description" : "Expression to handle errors. Details in the documentation.", + "feel" : "required", + "group" : "error", + "binding" : { + "key" : "errorExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "retryCount", + "label" : "Retries", + "description" : "Number of retries", + "value" : "3", + "feel" : "optional", + "group" : "retries", + "binding" : { + "property" : "retries", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "retryBackoff", + "label" : "Retry backoff", + "description" : "ISO-8601 duration to wait between retries", + "value" : "PT0S", + "feel" : "optional", + "group" : "retries", + "binding" : { + "key" : "retryBackoff", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAyNTYgMjg5JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaWRZTWlkJz4KICAgIDxwYXRoIGQ9J00xNjUuMjU4IDI4OC41MDFoMy41MDhsNTcuMjYxLTI4LjYzNC45NTMtMS4zNDdWMjkuOTY0bC0uOTUzLTEuMzU0TDE2OC43NjYgMGgtMy41NTFsLjA0MyAyODguNTAxJwogICAgICAgICAgZmlsbD0nIzUyOTRDRicvPgogICAgPHBhdGggZD0nTTkwLjc0MSAyODguNTAxaC0zLjU1N2wtNTcuMjEyLTI4LjYzNC0xLjE2MS0xLjk5Ny0uNTg5LTIyNi43NDIgMS43NS0yLjUxOEw4Ny4xODQgMGgzLjYwMWwtLjA0NCAyODguNTAxJwogICAgICAgICAgZmlsbD0nIzFGNUI5OCcvPgogICAgPHBhdGggZD0nTTg3LjI4NSAwaDgxLjQyNnYyODguNTAxSDg3LjI4NVYweicgZmlsbD0nIzJENzJCOCcvPgogICAgPHBhdGggZD0nTTI1NiAxMzcuNzY5bC0xLjkzNS0uNDI5LTI3LjYyOC0yLjU3Ni0uNDEuMjA0LTU3LjMxMi0yLjI5MmgtODEuNDNsLTU3LjMxMyAyLjI5MlY5MS4yNjRsLS4wNi4wMzIuMDYtLjEyOCA1Ny4zMTMtMTMuMjhoODEuNDNsNTcuMzEyIDEzLjI4IDIxLjA2OSAxMS4xOTl2LTcuMmw4LjkwNC0uOTc0LS45MjItMS43OTgtMjguMTkyLTIwLjE1OS0uODU5LjI3OS01Ny4zMTItMTcuNzU5aC04MS40M0wyOS45NzIgNzIuNTE1VjI4LjYxTDAgNjMuNzIzdjMwLjY2NmwuMjMyLS4xNjggOC42NzIuOTQ2djcuMzQ4TDAgMTA3LjI4djMwLjUxM2wuMjMyLS4wMjQgOC42NzIuMTI4djEyLjgwN2wtNy40ODIuMTEyTDAgMTUwLjY4djMwLjUyNWw4LjkwNCA0Ljc4OHY3LjQzM2wtOC41MzEuOTQyLS4zNzMtLjI4djMwLjY2MWwyOS45NzIgMzUuMTE4di00My45MDFsNTcuMzEzIDE3Ljc1OWg4MS40M2w1Ny40ODEtMTcuODExLjc2NC4zMzUgMjcuODIxLTE5Ljg2MiAxLjIxOS0xLjk3OS04LjkwNC0uOTgydi03LjI4NGwtMS4xNjctLjQ2Ni0xOS4wNDMgMTAuMjY1LS42OSAxLjQ0LTU3LjQ4MSAxMy4yMDN2LjAxNmgtODEuNDN2LS4wMTZsLTU3LjMxMy0xMy4yNTl2LTQzLjg2NGw1Ny4zMTMgMi4yODR2LjA1Nmg4MS40M2w1Ny4zMTItMi4zNCAxLjMwNS42IDI2Ljc3OS0yLjMwNiAxLjg4OS0uOTIzLTguOTA0LS4xMjh2LTEyLjgwN2w4LjkwNC0uMTI4JwogICAgICAgICAgZmlsbD0nIzFBNDc2RicvPgogICAgPHBhdGggZD0nTTIyNi4wMjcgMjE1Ljk2NnY0My45MDFMMjU2IDIyNC43NDl2LTMwLjQ2MWwtMjkuOCAyMS42MjYtLjE3My4wNTJNMjI2LjAyNyAxOTcuNDIxbC4xNzMtLjA0IDI5LjgtMTYuMDI4di0zMC42NDlsLTI5Ljk3MyAyLjc1N3Y0My45Nk0yMjYuMiA5MS4yMDhsLS4xNzMtLjA0djQzLjhMMjU2IDEzNy43Njl2LTMwLjYzNGwtMjkuOC0xNS45MjdNMjI2LjIgNzIuNjg3TDI1NiA5NC4xOTNWNjMuNzMxTDIyNi4wMjcgMjguNjF2NDMuOTA1bC4xNzMuMDZ2LjExMicKICAgICAgICAgIGZpbGw9JyMyRDcyQjgnLz4KPC9zdmc+" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-dynamodb/pom.xml b/connectors/aws/aws-dynamodb/pom.xml index 5708a40691..0ad9f24317 100644 --- a/connectors/aws/aws-dynamodb/pom.xml +++ b/connectors/aws/aws-dynamodb/pom.xml @@ -55,6 +55,7 @@ aws-dynamodb-outbound-connector.json + true diff --git a/connectors/aws/aws-eventbridge/element-templates/hybrid/aws-eventbridge-outbound-connector-hybrid.json b/connectors/aws/aws-eventbridge/element-templates/hybrid/aws-eventbridge-outbound-connector-hybrid.json new file mode 100644 index 0000000000..aedf2acb10 --- /dev/null +++ b/connectors/aws/aws-eventbridge/element-templates/hybrid/aws-eventbridge-outbound-connector-hybrid.json @@ -0,0 +1,254 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Amazon EventBridge Outbound Connector", + "id" : "io.camunda.connectors.AWSEventBridge.v1-hybrid", + "description" : "Send events to AWS EventBridge", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-eventbridge/?awseventbridge=outbound", + "version" : 5, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:Task" ], + "elementType" : { + "value" : "bpmn:ServiceTask" + }, + "groups" : [ { + "id" : "taskDefinitionType", + "label" : "Task definition type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Queue properties" + }, { + "id" : "eventDetails", + "label" : "eventDetails" + }, { + "id" : "eventPayload", + "label" : "Event Payload" + }, { + "id" : "output", + "label" : "Output mapping" + }, { + "id" : "error", + "label" : "Error handling" + }, { + "id" : "retries", + "label" : "Retries" + } ], + "properties" : [ { + "id" : "taskDefinitionType", + "value" : "io.camunda:aws-eventbridge:1", + "group" : "taskDefinitionType", + "binding" : { + "property" : "type", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:input" + }, + "type" : "Hidden" + }, { + "id" : "input.source", + "label" : "Source", + "description" : "Enter the event source value. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "eventDetails", + "binding" : { + "name" : "input.source", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "input.detailType", + "label" : "Detail type", + "description" : "Enter the event detail type. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "eventDetails", + "binding" : { + "name" : "input.detailType", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "input.eventBusName", + "label" : "Event bus name", + "description" : "Enter the event bus name. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "eventDetails", + "binding" : { + "name" : "input.eventBusName", + "type" : "zeebe:input" + }, + "type" : "Text" + }, { + "id" : "input.detail", + "label" : "Event payload", + "description" : "Provide the payload for the event as JSON. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "eventPayload", + "binding" : { + "name" : "input.detail", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "key" : "resultVariable", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "key" : "resultExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "errorExpression", + "label" : "Error expression", + "description" : "Expression to handle errors. Details in the documentation.", + "feel" : "required", + "group" : "error", + "binding" : { + "key" : "errorExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "retryCount", + "label" : "Retries", + "description" : "Number of retries", + "value" : "3", + "feel" : "optional", + "group" : "retries", + "binding" : { + "property" : "retries", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "retryBackoff", + "label" : "Retry backoff", + "description" : "ISO-8601 duration to wait between retries", + "value" : "PT0S", + "feel" : "optional", + "group" : "retries", + "binding" : { + "key" : "retryBackoff", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgdmlld0JveD0nMCAwIDI1NiAyNTYnPgogICAgPGRlZnM+CiAgICAgICAgPGxpbmVhckdyYWRpZW50IGlkPSdsb2dvc0F3c0V2ZW50YnJpZGdlMCcgeDE9JzAlJyB4Mj0nMTAwJScgeTE9JzEwMCUnIHkyPScwJSc+CiAgICAgICAgICAgIDxzdG9wIG9mZnNldD0nMCUnIHN0b3AtY29sb3I9JyNCMDA4NEQnLz4KICAgICAgICAgICAgPHN0b3Agb2Zmc2V0PScxMDAlJyBzdG9wLWNvbG9yPScjRkY0RjhCJy8+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxwYXRoIGZpbGw9J3VybCgjbG9nb3NBd3NFdmVudGJyaWRnZTApJyBkPSdNMCAwaDI1NnYyNTZIMHonLz4KICAgIDxwYXRoIGZpbGw9JyNGRkYnCiAgICAgICAgICBkPSdNMTcxLjcwMiAyMTEuMmMtNi44NTggMC0xMi40NC01LjYxLTEyLjQ0LTEyLjUwOXM1LjU4Mi0xMi41MDkgMTIuNDQtMTIuNTA5YzYuODU3IDAgMTIuNDM4IDUuNjEgMTIuNDM4IDEyLjUxYzAgNi44OTgtNS41ODEgMTIuNTA4LTEyLjQzOCAxMi41MDhabS0yNy4yNzgtNTQuNGgtMzMuMDcxTDk0LjgxNSAxMjhsMTYuNTM4LTI4LjhoMzMuMDcxTDE2MC45NiAxMjhsLTE2LjUzNSAyOC44Wk04OC4zODcgNjkuODE4Yy02Ljg1NyAwLTEyLjQzOC01LjYxLTEyLjQzOC0xMi41MWMwLTYuODk4IDUuNTgxLTEyLjUwOCAxMi40MzgtMTIuNTA4YzYuODYxIDAgMTIuNDQzIDUuNjEgMTIuNDQzIDEyLjUwOXMtNS41ODIgMTIuNTA5LTEyLjQ0MyAxMi41MDlabTgzLjMxNSAxMDkuOTY0Yy0yLjM2MiAwLTQuNjE0LjQ1OC02LjY5OSAxLjI2MWwtMTMuNTE0LTIyLjkzMWwtLjcxMy40MjZMMTY3LjM5IDEyOS42YTMuMjI2IDMuMjI2IDAgMCAwIDAtMy4ybC0xOC4zNzQtMzJhMy4xNzcgMy4xNzcgMCAwIDAtMi43NTUtMS42aC0zMy40MzVsLjEzLS4wNzdsLTEyLjM5LTIxLjAzYzQuMDQ3LTMuNDY5IDYuNjI4LTguNjI3IDYuNjI4LTE0LjM4NGMwLTEwLjQyNi04LjQzNi0xOC45MDktMTguODA3LTE4LjkwOWMtMTAuMzY3IDAtMTguODAzIDguNDgzLTE4LjgwMyAxOC45MDljMCAxMC40MjUgOC40MzYgMTguOTA5IDE4LjgwMyAxOC45MDljMi4zNjUgMCA0LjYxOC0uNDU4IDYuNzAyLTEuMjYxbDExLjU2NyAxOS42MjVMODguMzg0IDEyNi40YTMuMjI2IDMuMjI2IDAgMCAwIDAgMy4ybDE4LjM3NyAzMmMuNTcuOTkyIDEuNjIgMS42IDIuNzU2IDEuNmgzNi43NDRjLjI2NCAwIC41MjEtLjA0Mi43Ny0uMTAybDEyLjQ5NiAyMS4yMWMtNC4wNTEgMy40NjgtNi42MjkgOC42MjYtNi42MjkgMTQuMzgzYzAgMTAuNDI2IDguNDMzIDE4LjkwOSAxOC44MDQgMTguOTA5YzEwLjM3IDAgMTguODAzLTguNDgzIDE4LjgwMy0xOC45MDljMC0xMC40MjUtOC40MzMtMTguOTA5LTE4LjgwMy0xOC45MDlabTE4Ljk2OC03Ny4wNWMtNi44NTcgMC0xMi40MzYtNS42MDktMTIuNDM2LTEyLjUwOGMwLTYuOSA1LjU3OS0xMi41MDkgMTIuNDM2LTEyLjUwOWM2Ljg1OCAwIDEyLjQ0IDUuNjEgMTIuNDQgMTIuNTA5YzAgNi45LTUuNTgyIDEyLjUwOS0xMi40NCAxMi41MDlabTIzLjMwMyAyMy42NjhsLTEyLjA4LTIxLjA0YzQuNTkyLTMuNDUzIDcuNTgtOC45NDQgNy41OC0xNS4xMzZjMC0xMC40MjYtOC40MzItMTguOTA5LTE4LjgwMy0xOC45MDljLTIuNjM4IDAtNS4xNTIuNTU0LTcuNDMzIDEuNTQ5bC05Ljg0OS0xNy4xNTVhMy4xOCAzLjE4IDAgMCAwLTIuNzU2LTEuNmgtMzkuNDQ4djYuNGgzNy42MTJsOS4xMSAxNS44NzJjLTMuNzAzIDMuNDU2LTYuMDM2IDguMzc0LTYuMDM2IDEzLjg0M2MwIDEwLjQyNiA4LjQzMyAxOC45MDkgMTguOCAxOC45MDljMS45MzIgMCAzLjgtLjI5OCA1LjU1Ni0uODQ1TDIwNy41NDUgMTI4bC0xNS44OTIgMjcuNjc0bDUuNTEyIDMuMmwxNi44MDgtMjkuMjc0YTMuMjEgMy4yMSAwIDAgMCAwLTMuMlptLTE0Ni4wNCA1MC4zOWMtNi44NiAwLTEyLjQ0Mi01LjYxMi0xMi40NDItMTIuNTA4YzAtNi45IDUuNTgxLTEyLjUxIDEyLjQ0Mi0xMi41MWM2Ljg1NyAwIDEyLjQzOSA1LjYxIDEyLjQzOSAxMi41MWMwIDYuODk2LTUuNTgyIDEyLjUwOC0xMi40NCAxMi41MDhabTEwLjM5MyAzLjIzNmM1LjA2Mi0zLjM5MiA4LjQxLTkuMTgxIDguNDEtMTUuNzQ0YzAtMTAuNDI2LTguNDM2LTE4LjkxLTE4LjgwMy0xOC45MWMtMy4wMDQgMC01LjgzMy43My04LjM1MyAxLjk5NEw0OC40NTggMTI4bDE4LjQyOC0zMi4wOTNsLTUuNTE1LTMuMkw0Mi4wMjcgMTI2LjRhMy4yMSAzLjIxIDAgMCAwIDAgMy4ybDEyLjM4OCAyMS41NjhjLTMuMjY4IDMuNDA1LTUuMjg5IDguMDIyLTUuMjg5IDEzLjExNGMwIDEwLjQyNSA4LjQzNiAxOC45MDggMTguODA3IDE4LjkwOGMxLjU2MiAwIDMuMDc0LS4yMTQgNC41MjgtLjU3OWwxMC4xNSAxNy42OGMuNTcuOTg5IDEuNjIgMS42IDIuNzU3IDEuNmgzOS40NTF2LTYuNEg4Ny4yMDRsLTguODc4LTE1LjQ2NVonLz4KPC9zdmc+Cg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-eventbridge/pom.xml b/connectors/aws/aws-eventbridge/pom.xml index 798b214989..d725bdeb1d 100644 --- a/connectors/aws/aws-eventbridge/pom.xml +++ b/connectors/aws/aws-eventbridge/pom.xml @@ -58,6 +58,7 @@ aws-eventbridge-outbound-connector.json + true @@ -68,5 +69,4 @@ - diff --git a/connectors/aws/aws-lambda/element-templates/hybrid/aws-lambda-outbound-connector-hybrid.json b/connectors/aws/aws-lambda/element-templates/hybrid/aws-lambda-outbound-connector-hybrid.json new file mode 100644 index 0000000000..4ae7b1f462 --- /dev/null +++ b/connectors/aws/aws-lambda/element-templates/hybrid/aws-lambda-outbound-connector-hybrid.json @@ -0,0 +1,239 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid AWS Lambda Outbound Connector", + "id" : "io.camunda.connectors.AWSLAMBDA.v2-hybrid", + "description" : "Invoke a function", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/aws-lambda/", + "version" : 5, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:Task" ], + "elementType" : { + "value" : "bpmn:ServiceTask" + }, + "groups" : [ { + "id" : "taskDefinitionType", + "label" : "Task definition type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Configuration" + }, { + "id" : "operation", + "label" : "Select operation" + }, { + "id" : "operationDetails", + "label" : "Operation details" + }, { + "id" : "output", + "label" : "Output mapping" + }, { + "id" : "error", + "label" : "Error handling" + }, { + "id" : "retries", + "label" : "Retries" + } ], + "properties" : [ { + "id" : "taskDefinitionType", + "value" : "io.camunda:aws-lambda:1", + "group" : "taskDefinitionType", + "binding" : { + "property" : "type", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:input" + }, + "type" : "Hidden" + }, { + "id" : "awsFunction.operationType", + "label" : "Operation type", + "optional" : false, + "value" : "sync", + "group" : "operation", + "binding" : { + "name" : "awsFunction.operationType", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Invoke function (sync)", + "value" : "sync" + } ] + }, { + "id" : "awsFunction.functionName", + "label" : "Function name", + "description" : "Enter a name, ARN or alias of your function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "operationDetails", + "binding" : { + "name" : "awsFunction.functionName", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "awsFunction.payload", + "label" : "Payload", + "description" : "Provide payload for your function as JSON", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "operationDetails", + "binding" : { + "name" : "awsFunction.payload", + "type" : "zeebe:input" + }, + "type" : "Text" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "key" : "resultVariable", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "key" : "resultExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "errorExpression", + "label" : "Error expression", + "description" : "Expression to handle errors. Details in the documentation.", + "feel" : "required", + "group" : "error", + "binding" : { + "key" : "errorExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "retryCount", + "label" : "Retries", + "description" : "Number of retries", + "value" : "3", + "feel" : "optional", + "group" : "retries", + "binding" : { + "property" : "retries", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "retryBackoff", + "label" : "Retry backoff", + "description" : "ISO-8601 duration to wait between retries", + "value" : "PT0S", + "feel" : "optional", + "group" : "retries", + "binding" : { + "key" : "retryBackoff", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA0OCA0OCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPgogICAgPHRpdGxlPkljb24tUmVzb3VyY2UvQ29tcHV0ZS9SZXNfQW1hem9uLUxhbWJkYV9MYW1iZGEtRnVuY3Rpb25fNDhfTGlnaHQ8L3RpdGxlPgogICAgPGcgaWQ9J0ljb24tUmVzb3VyY2UvQ29tcHV0ZS9SZXNfQW1hem9uLUxhbWJkYV9MYW1iZGEtRnVuY3Rpb25fNDgnIHN0cm9rZT0nbm9uZScgc3Ryb2tlLXdpZHRoPScxJyBmaWxsPSdub25lJwogICAgICAgZmlsbC1ydWxlPSdldmVub2RkJz4KICAgICAgICA8cGF0aCBkPSdNMjQsNDQgQzEyLjk3Miw0NCA0LDM1LjAyOCA0LDI0IEM0LDEyLjk3MiAxMi45NzIsNCAyNCw0IEMzNS4wMjgsNCA0NCwxMi45NzIgNDQsMjQgQzQ0LDM1LjAyOCAzNS4wMjgsNDQgMjQsNDQgTDI0LDQ0IFogTTI0LDIgQzExLjg2OSwyIDIsMTEuODY5IDIsMjQgQzIsMzYuMTMxIDExLjg2OSw0NiAyNCw0NiBDMzYuMTMxLDQ2IDQ2LDM2LjEzMSA0NiwyNCBDNDYsMTEuODY5IDM2LjEzMSwyIDI0LDIgTDI0LDIgWiBNMTcuMjMxLDM1LjI1IEwxMS44NzYsMzUuMjUgTDE4LjIyMSwyMS45NTkgTDIwLjkwMiwyNy40OTIgTDE3LjIzMSwzNS4yNSBaIE0xOS4xMTQsMTkuMjE1IEMxOC45NDYsMTguODcgMTguNTk3LDE4LjY1MSAxOC4yMTQsMTguNjUxIEwxOC4yMTEsMTguNjUxIEMxNy44MjYsMTguNjUyIDE3LjQ3NywxOC44NzQgMTcuMzEyLDE5LjIyMSBMOS4zODksMzUuODE5IEM5LjI0LDM2LjEyOSA5LjI2MiwzNi40OTMgOS40NDUsMzYuNzgzIEM5LjYyOCwzNy4wNzQgOS45NDcsMzcuMjUgMTAuMjkxLDM3LjI1IEwxNy44NjQsMzcuMjUgQzE4LjI1MSwzNy4yNSAxOC42MDMsMzcuMDI3IDE4Ljc2OSwzNi42NzggTDIyLjkxNSwyNy45MTUgQzIzLjA0NCwyNy42NDIgMjMuMDQzLDI3LjMyMyAyMi45MTEsMjcuMDUxIEwxOS4xMTQsMTkuMjE1IFogTTM2LjEyNSwzNS4yNSBMMzAuNjczLDM1LjI1IEwyMC43NjEsMTMuOTUzIEMyMC41OTcsMTMuNjAxIDIwLjI0MywxMy4zNzUgMTkuODU0LDEzLjM3NSBMMTYuMjUxLDEzLjM3NSBMMTYuMjU1LDkuMjUgTDIzLjQ3NSw5LjI1IEwzMy4zMzksMzAuNTQ1IEMzMy41MDMsMzAuODk4IDMzLjg1NiwzMS4xMjUgMzQuMjQ2LDMxLjEyNSBMMzYuMTI1LDMxLjEyNSBMMzYuMTI1LDM1LjI1IFogTTM3LjEyNSwyOS4xMjUgTDM0Ljg4NSwyOS4xMjUgTDI1LjAyMSw3LjgzIEMyNC44NTYsNy40NzcgMjQuNTAzLDcuMjUgMjQuMTEzLDcuMjUgTDE1LjI1Niw3LjI1IEMxNC43MDQsNy4yNSAxNC4yNTcsNy42OTcgMTQuMjU2LDguMjQ5IEwxNC4yNSwxNC4zNzQgQzE0LjI1LDE0LjY0IDE0LjM1NSwxNC44OTQgMTQuNTQzLDE1LjA4MiBDMTQuNzMsMTUuMjcgMTQuOTg0LDE1LjM3NSAxNS4yNSwxNS4zNzUgTDE5LjIxNywxNS4zNzUgTDI5LjEyOSwzNi42NzIgQzI5LjI5MywzNy4wMjQgMjkuNjQ2LDM3LjI1IDMwLjAzNSwzNy4yNSBMMzcuMTI1LDM3LjI1IEMzNy42NzgsMzcuMjUgMzguMTI1LDM2LjgwMyAzOC4xMjUsMzYuMjUgTDM4LjEyNSwzMC4xMjUgQzM4LjEyNSwyOS41NzIgMzcuNjc4LDI5LjEyNSAzNy4xMjUsMjkuMTI1IEwzNy4xMjUsMjkuMTI1IFonCiAgICAgICAgICAgICAgaWQ9J0FtYXpvbi1MYW1iZGEtTGFtYmRhLUZ1bmN0aW9uX1Jlc291cmNlLUljb25fbGlnaHQtYmcnIGZpbGw9JyNENDVCMDcnPjwvcGF0aD4KICAgIDwvZz4KPC9zdmc+" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-lambda/pom.xml b/connectors/aws/aws-lambda/pom.xml index 819e1e7f72..5dc88518e0 100644 --- a/connectors/aws/aws-lambda/pom.xml +++ b/connectors/aws/aws-lambda/pom.xml @@ -56,7 +56,7 @@ aws-lambda-outbound-connector.json - + true diff --git a/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-boundary-hybrid.json b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-boundary-hybrid.json new file mode 100644 index 0000000000..16beefd4b6 --- /dev/null +++ b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-boundary-hybrid.json @@ -0,0 +1,180 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid SNS HTTPS Boundary Event Connector", + "id" : "io.camunda.connectors.inbound.AWSSNS.Boundary.v1-hybrid", + "description" : "Receive events from AWS SNS", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sns/?amazonsns=inbound", + "version" : 4, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:BoundaryEvent" ], + "elementType" : { + "value" : "bpmn:BoundaryEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "subscription", + "label" : "Subscription Configuration" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:aws-sns-webhook:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.context", + "label" : "Subscription ID", + "description" : "The subscription ID is a part of the URL endpoint", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "subscription", + "binding" : { + "name" : "inbound.context", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.securitySubscriptionAllowedFor", + "label" : "Allow to receive messages from topic(s)", + "description" : "Control which topic(s) is allowed to start a process", + "optional" : false, + "value" : "any", + "group" : "subscription", + "binding" : { + "name" : "inbound.securitySubscriptionAllowedFor", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Any", + "value" : "any" + }, { + "name" : "Specific topic(s)", + "value" : "specific" + } ] + }, { + "id" : "inbound.topicsAllowList", + "label" : "Topic ARN(s)", + "description" : "Topics that allow to publish messages", + "optional" : true, + "feel" : "optional", + "group" : "subscription", + "binding" : { + "name" : "inbound.topicsAllowList", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.securitySubscriptionAllowedFor", + "equals" : "specific", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA4MCA4MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS82NC9BcmNoX0FXUy1TaW1wbGUtTm90aWZpY2F0aW9uLVNlcnZpY2VfNjQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9JzAlJyB5MT0nMTAwJScgeDI9JzEwMCUnIHkyPScwJScgaWQ9J2xpbmVhckdyYWRpZW50LTEnPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPScjQjAwODREJyBvZmZzZXQ9JzAlJz48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNGRjRGOEInIG9mZnNldD0nMTAwJSc+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0nSWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtU2ltcGxlLU5vdGlmaWNhdGlvbi1TZXJ2aWNlXzY0JyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScKICAgICAgIGZpbGwtcnVsZT0nZXZlbm9kZCc+CiAgICAgICAgPGcgaWQ9J0ljb24tQXJjaGl0ZWN0dXJlLUJHLzY0L0FwcGxpY2F0aW9uLUludGVncmF0aW9uJyBmaWxsPSd1cmwoI2xpbmVhckdyYWRpZW50LTEpJz4KICAgICAgICAgICAgPHJlY3QgaWQ9J1JlY3RhbmdsZScgeD0nMCcgeT0nMCcgd2lkdGg9JzgwJyBoZWlnaHQ9JzgwJz48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGQ9J00xNywzOCBDMTguMTAzLDM4IDE5LDM4Ljg5NyAxOSw0MCBDMTksNDEuMTAzIDE4LjEwMyw0MiAxNyw0MiBDMTUuODk3LDQyIDE1LDQxLjEwMyAxNSw0MCBDMTUsMzguODk3IDE1Ljg5NywzOCAxNywzOCBMMTcsMzggWiBNNDEsNjQgQzI5LjMxNCw2NCAxOS4yODksNTUuNDY2IDE3LjE5NCw0My45OCBDMTguOTY1LDQzLjg5NCAyMC40MjcsNDIuNjU5IDIwLjg1Nyw0MSBMMjcsNDEgTDI3LDM5IEwyMC44NTcsMzkgQzIwLjQyNywzNy4zNDIgMTguOTY2LDM2LjEwNyAxNy4xOTUsMzYuMDIgQzE5LjI4NSwyNC43MSAyOS41MTEsMTYgNDEsMTYgQzQ1LjMxMywxNiA0OS44MzIsMTcuNjIyIDU0LjQyOSwyMC44MjEgTDU1LjU3MSwxOS4xNzkgQzUwLjYzMywxNS43NDMgNDUuNzMsMTQgNDEsMTQgQzI4LjI3LDE0IDE2Ljk0OSwyMy44NjUgMTUuMDYzLDM2LjUyMSBDMTMuODM5LDM3LjIwNyAxMywzOC41IDEzLDQwIEMxMyw0MS41IDEzLjgzOSw0Mi43OTMgMTUuMDYzLDQzLjQ3OCBDMTYuOTcsNTYuMzQxIDI4LjA1Niw2NiA0MSw2NiBDNDYuNDA3LDY2IDUxLjk0Miw2NC4xNTcgNTYuNTg1LDYwLjgxMSBMNTUuNDE1LDU5LjE4OSBDNTEuMTEsNjIuMjkyIDQ1Ljk5MSw2NCA0MSw2NCBMNDEsNjQgWiBNMzAuMTAxLDM2LjQ0MiBDMzEuOTU1LDM2Ljg5NSAzNC4yNzUsMzcgMzYsMzcgQzM3LjY0MiwzNyAzOS44MjMsMzYuOTA1IDQxLjYyOSwzNi41MDYgTDM3LjEwNSw0NS41NTMgQzM3LjAzNiw0NS42OTEgMzcsNDUuODQ1IDM3LDQ2IEwzNyw1MC40NTMgQzM2LjE5OSw1MC45NjQgMzQuODMzLDUxLjgxMiAzNCw1MS45ODYgTDM0LDQ2IEMzNCw0NS44NjggMzMuOTc0LDQ1LjczNyAzMy45MjMsNDUuNjE1IEwzMC4xMDEsMzYuNDQyIFogTTM2LDMzIEM0MC4wMjUsMzMgNDIuMTc0LDMzLjYwNCA0Mi44NDEsMzQgQzQyLjE3NCwzNC4zOTYgNDAuMDI1LDM1IDM2LDM1IEMzMS45NzUsMzUgMjkuODI2LDM0LjM5NiAyOS4xNTksMzQgQzI5LjgyNiwzMy42MDQgMzEuOTc1LDMzIDM2LDMzIEwzNiwzMyBaIE0zMyw1NCBMMzQsNTQgQzM0LjA0Myw1NCAzNC4wODYsNTMuOTk3IDM0LjEyOCw1My45OTIgQzM1LjM1Miw1My44MzMgMzYuOTA5LDUyLjg4NyAzOC4yNzIsNTIuMDEzIEwzOC41MzUsNTEuODQ1IEMzOC44MjQsNTEuNjYxIDM5LDUxLjM0MiAzOSw1MSBMMzksNDYuMjM2IEw0NC41NTksMzUuMTIgQzQ0LjgzMywzNC44MDEgNDUsMzQuNDM0IDQ1LDM0IEM0NSwzMS4zOSAzOS4zNjEsMzEgMzYsMzEgQzMyLjYzOSwzMSAyNywzMS4zOSAyNywzNCBDMjcsMzQuMzY2IDI3LjEyLDM0LjY4NCAyNy4zMiwzNC45NjcgTDMyLDQ2LjIgTDMyLDUzIEMzMiw1My41NTIgMzIuNDQ3LDU0IDMzLDU0IEwzMyw1NCBaIE02Miw1MyBDNjMuMTAzLDUzIDY0LDUzLjg5NyA2NCw1NSBDNjQsNTYuMTAzIDYzLjEwMyw1NyA2Miw1NyBDNjAuODk3LDU3IDYwLDU2LjEwMyA2MCw1NSBDNjAsNTMuODk3IDYwLjg5Nyw1MyA2Miw1MyBMNjIsNTMgWiBNNjIsMjMgQzYzLjEwMywyMyA2NCwyMy44OTcgNjQsMjUgQzY0LDI2LjEwMyA2My4xMDMsMjcgNjIsMjcgQzYwLjg5NywyNyA2MCwyNi4xMDMgNjAsMjUgQzYwLDIzLjg5NyA2MC44OTcsMjMgNjIsMjMgTDYyLDIzIFogTTY0LDM4IEM2NS4xMDMsMzggNjYsMzguODk3IDY2LDQwIEM2Niw0MS4xMDMgNjUuMTAzLDQyIDY0LDQyIEM2Mi44OTcsNDIgNjIsNDEuMTAzIDYyLDQwIEM2MiwzOC44OTcgNjIuODk3LDM4IDY0LDM4IEw2NCwzOCBaIE01NCw0MSBMNjAuMTQzLDQxIEM2MC41ODksNDIuNzIgNjIuMTQyLDQ0IDY0LDQ0IEM2Ni4yMDYsNDQgNjgsNDIuMjA2IDY4LDQwIEM2OCwzNy43OTQgNjYuMjA2LDM2IDY0LDM2IEM2Mi4xNDIsMzYgNjAuNTg5LDM3LjI4IDYwLjE0MywzOSBMNTQsMzkgTDU0LDI2IEw1OC4xNDMsMjYgQzU4LjU4OSwyNy43MiA2MC4xNDIsMjkgNjIsMjkgQzY0LjIwNiwyOSA2NiwyNy4yMDYgNjYsMjUgQzY2LDIyLjc5NCA2NC4yMDYsMjEgNjIsMjEgQzYwLjE0MiwyMSA1OC41ODksMjIuMjggNTguMTQzLDI0IEw1MywyNCBDNTIuNDQ3LDI0IDUyLDI0LjQ0OCA1MiwyNSBMNTIsMzkgTDQ1LDM5IEw0NSw0MSBMNTIsNDEgTDUyLDU1IEM1Miw1NS41NTIgNTIuNDQ3LDU2IDUzLDU2IEw1OC4xNDMsNTYgQzU4LjU4OSw1Ny43MiA2MC4xNDIsNTkgNjIsNTkgQzY0LjIwNiw1OSA2Niw1Ny4yMDYgNjYsNTUgQzY2LDUyLjc5NCA2NC4yMDYsNTEgNjIsNTEgQzYwLjE0Miw1MSA1OC41ODksNTIuMjggNTguMTQzLDU0IEw1NCw1NCBMNTQsNDEgWicKICAgICAgICAgICAgICBpZD0nQVdTLVNpbXBsZS1Ob3RpZmljYXRpb24tU2VydmljZV9JY29uXzY0X1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-intermediate-hybrid.json b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-intermediate-hybrid.json new file mode 100644 index 0000000000..7d41f3d1f2 --- /dev/null +++ b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-intermediate-hybrid.json @@ -0,0 +1,180 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid SNS HTTPS Intermediate Catch Event Connector", + "id" : "io.camunda.connectors.inbound.AWSSNS.IntermediateCatchEvent.v1-hybrid", + "description" : "Receive events from AWS SNS", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sns/?amazonsns=inbound", + "version" : 4, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent" ], + "elementType" : { + "value" : "bpmn:IntermediateCatchEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "subscription", + "label" : "Subscription Configuration" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:aws-sns-webhook:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.context", + "label" : "Subscription ID", + "description" : "The subscription ID is a part of the URL endpoint", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "subscription", + "binding" : { + "name" : "inbound.context", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.securitySubscriptionAllowedFor", + "label" : "Allow to receive messages from topic(s)", + "description" : "Control which topic(s) is allowed to start a process", + "optional" : false, + "value" : "any", + "group" : "subscription", + "binding" : { + "name" : "inbound.securitySubscriptionAllowedFor", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Any", + "value" : "any" + }, { + "name" : "Specific topic(s)", + "value" : "specific" + } ] + }, { + "id" : "inbound.topicsAllowList", + "label" : "Topic ARN(s)", + "description" : "Topics that allow to publish messages", + "optional" : true, + "feel" : "optional", + "group" : "subscription", + "binding" : { + "name" : "inbound.topicsAllowList", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.securitySubscriptionAllowedFor", + "equals" : "specific", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA4MCA4MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS82NC9BcmNoX0FXUy1TaW1wbGUtTm90aWZpY2F0aW9uLVNlcnZpY2VfNjQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9JzAlJyB5MT0nMTAwJScgeDI9JzEwMCUnIHkyPScwJScgaWQ9J2xpbmVhckdyYWRpZW50LTEnPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPScjQjAwODREJyBvZmZzZXQ9JzAlJz48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNGRjRGOEInIG9mZnNldD0nMTAwJSc+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0nSWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtU2ltcGxlLU5vdGlmaWNhdGlvbi1TZXJ2aWNlXzY0JyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScKICAgICAgIGZpbGwtcnVsZT0nZXZlbm9kZCc+CiAgICAgICAgPGcgaWQ9J0ljb24tQXJjaGl0ZWN0dXJlLUJHLzY0L0FwcGxpY2F0aW9uLUludGVncmF0aW9uJyBmaWxsPSd1cmwoI2xpbmVhckdyYWRpZW50LTEpJz4KICAgICAgICAgICAgPHJlY3QgaWQ9J1JlY3RhbmdsZScgeD0nMCcgeT0nMCcgd2lkdGg9JzgwJyBoZWlnaHQ9JzgwJz48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGQ9J00xNywzOCBDMTguMTAzLDM4IDE5LDM4Ljg5NyAxOSw0MCBDMTksNDEuMTAzIDE4LjEwMyw0MiAxNyw0MiBDMTUuODk3LDQyIDE1LDQxLjEwMyAxNSw0MCBDMTUsMzguODk3IDE1Ljg5NywzOCAxNywzOCBMMTcsMzggWiBNNDEsNjQgQzI5LjMxNCw2NCAxOS4yODksNTUuNDY2IDE3LjE5NCw0My45OCBDMTguOTY1LDQzLjg5NCAyMC40MjcsNDIuNjU5IDIwLjg1Nyw0MSBMMjcsNDEgTDI3LDM5IEwyMC44NTcsMzkgQzIwLjQyNywzNy4zNDIgMTguOTY2LDM2LjEwNyAxNy4xOTUsMzYuMDIgQzE5LjI4NSwyNC43MSAyOS41MTEsMTYgNDEsMTYgQzQ1LjMxMywxNiA0OS44MzIsMTcuNjIyIDU0LjQyOSwyMC44MjEgTDU1LjU3MSwxOS4xNzkgQzUwLjYzMywxNS43NDMgNDUuNzMsMTQgNDEsMTQgQzI4LjI3LDE0IDE2Ljk0OSwyMy44NjUgMTUuMDYzLDM2LjUyMSBDMTMuODM5LDM3LjIwNyAxMywzOC41IDEzLDQwIEMxMyw0MS41IDEzLjgzOSw0Mi43OTMgMTUuMDYzLDQzLjQ3OCBDMTYuOTcsNTYuMzQxIDI4LjA1Niw2NiA0MSw2NiBDNDYuNDA3LDY2IDUxLjk0Miw2NC4xNTcgNTYuNTg1LDYwLjgxMSBMNTUuNDE1LDU5LjE4OSBDNTEuMTEsNjIuMjkyIDQ1Ljk5MSw2NCA0MSw2NCBMNDEsNjQgWiBNMzAuMTAxLDM2LjQ0MiBDMzEuOTU1LDM2Ljg5NSAzNC4yNzUsMzcgMzYsMzcgQzM3LjY0MiwzNyAzOS44MjMsMzYuOTA1IDQxLjYyOSwzNi41MDYgTDM3LjEwNSw0NS41NTMgQzM3LjAzNiw0NS42OTEgMzcsNDUuODQ1IDM3LDQ2IEwzNyw1MC40NTMgQzM2LjE5OSw1MC45NjQgMzQuODMzLDUxLjgxMiAzNCw1MS45ODYgTDM0LDQ2IEMzNCw0NS44NjggMzMuOTc0LDQ1LjczNyAzMy45MjMsNDUuNjE1IEwzMC4xMDEsMzYuNDQyIFogTTM2LDMzIEM0MC4wMjUsMzMgNDIuMTc0LDMzLjYwNCA0Mi44NDEsMzQgQzQyLjE3NCwzNC4zOTYgNDAuMDI1LDM1IDM2LDM1IEMzMS45NzUsMzUgMjkuODI2LDM0LjM5NiAyOS4xNTksMzQgQzI5LjgyNiwzMy42MDQgMzEuOTc1LDMzIDM2LDMzIEwzNiwzMyBaIE0zMyw1NCBMMzQsNTQgQzM0LjA0Myw1NCAzNC4wODYsNTMuOTk3IDM0LjEyOCw1My45OTIgQzM1LjM1Miw1My44MzMgMzYuOTA5LDUyLjg4NyAzOC4yNzIsNTIuMDEzIEwzOC41MzUsNTEuODQ1IEMzOC44MjQsNTEuNjYxIDM5LDUxLjM0MiAzOSw1MSBMMzksNDYuMjM2IEw0NC41NTksMzUuMTIgQzQ0LjgzMywzNC44MDEgNDUsMzQuNDM0IDQ1LDM0IEM0NSwzMS4zOSAzOS4zNjEsMzEgMzYsMzEgQzMyLjYzOSwzMSAyNywzMS4zOSAyNywzNCBDMjcsMzQuMzY2IDI3LjEyLDM0LjY4NCAyNy4zMiwzNC45NjcgTDMyLDQ2LjIgTDMyLDUzIEMzMiw1My41NTIgMzIuNDQ3LDU0IDMzLDU0IEwzMyw1NCBaIE02Miw1MyBDNjMuMTAzLDUzIDY0LDUzLjg5NyA2NCw1NSBDNjQsNTYuMTAzIDYzLjEwMyw1NyA2Miw1NyBDNjAuODk3LDU3IDYwLDU2LjEwMyA2MCw1NSBDNjAsNTMuODk3IDYwLjg5Nyw1MyA2Miw1MyBMNjIsNTMgWiBNNjIsMjMgQzYzLjEwMywyMyA2NCwyMy44OTcgNjQsMjUgQzY0LDI2LjEwMyA2My4xMDMsMjcgNjIsMjcgQzYwLjg5NywyNyA2MCwyNi4xMDMgNjAsMjUgQzYwLDIzLjg5NyA2MC44OTcsMjMgNjIsMjMgTDYyLDIzIFogTTY0LDM4IEM2NS4xMDMsMzggNjYsMzguODk3IDY2LDQwIEM2Niw0MS4xMDMgNjUuMTAzLDQyIDY0LDQyIEM2Mi44OTcsNDIgNjIsNDEuMTAzIDYyLDQwIEM2MiwzOC44OTcgNjIuODk3LDM4IDY0LDM4IEw2NCwzOCBaIE01NCw0MSBMNjAuMTQzLDQxIEM2MC41ODksNDIuNzIgNjIuMTQyLDQ0IDY0LDQ0IEM2Ni4yMDYsNDQgNjgsNDIuMjA2IDY4LDQwIEM2OCwzNy43OTQgNjYuMjA2LDM2IDY0LDM2IEM2Mi4xNDIsMzYgNjAuNTg5LDM3LjI4IDYwLjE0MywzOSBMNTQsMzkgTDU0LDI2IEw1OC4xNDMsMjYgQzU4LjU4OSwyNy43MiA2MC4xNDIsMjkgNjIsMjkgQzY0LjIwNiwyOSA2NiwyNy4yMDYgNjYsMjUgQzY2LDIyLjc5NCA2NC4yMDYsMjEgNjIsMjEgQzYwLjE0MiwyMSA1OC41ODksMjIuMjggNTguMTQzLDI0IEw1MywyNCBDNTIuNDQ3LDI0IDUyLDI0LjQ0OCA1MiwyNSBMNTIsMzkgTDQ1LDM5IEw0NSw0MSBMNTIsNDEgTDUyLDU1IEM1Miw1NS41NTIgNTIuNDQ3LDU2IDUzLDU2IEw1OC4xNDMsNTYgQzU4LjU4OSw1Ny43MiA2MC4xNDIsNTkgNjIsNTkgQzY0LjIwNiw1OSA2Niw1Ny4yMDYgNjYsNTUgQzY2LDUyLjc5NCA2NC4yMDYsNTEgNjIsNTEgQzYwLjE0Miw1MSA1OC41ODksNTIuMjggNTguMTQzLDU0IEw1NCw1NCBMNTQsNDEgWicKICAgICAgICAgICAgICBpZD0nQVdTLVNpbXBsZS1Ob3RpZmljYXRpb24tU2VydmljZV9JY29uXzY0X1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-message-start-hybrid.json b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-message-start-hybrid.json new file mode 100644 index 0000000000..a56d7c6328 --- /dev/null +++ b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-message-start-hybrid.json @@ -0,0 +1,208 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid SNS HTTPS Message Start Event Connector Subscription", + "id" : "io.camunda.connectors.inbound.AWSSNS.MessageStartEvent.v1-hybrid", + "description" : "Receive events from AWS SNS", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sns/?amazonsns=inbound", + "version" : 4, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "subscription", + "label" : "Subscription Configuration" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:aws-sns-webhook:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.context", + "label" : "Subscription ID", + "description" : "The subscription ID is a part of the URL endpoint", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "subscription", + "binding" : { + "name" : "inbound.context", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.securitySubscriptionAllowedFor", + "label" : "Allow to receive messages from topic(s)", + "description" : "Control which topic(s) is allowed to start a process", + "optional" : false, + "value" : "any", + "group" : "subscription", + "binding" : { + "name" : "inbound.securitySubscriptionAllowedFor", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Any", + "value" : "any" + }, { + "name" : "Specific topic(s)", + "value" : "specific" + } ] + }, { + "id" : "inbound.topicsAllowList", + "label" : "Topic ARN(s)", + "description" : "Topics that allow to publish messages", + "optional" : true, + "feel" : "optional", + "group" : "subscription", + "binding" : { + "name" : "inbound.topicsAllowList", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.securitySubscriptionAllowedFor", + "equals" : "specific", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationRequired", + "label" : "Subprocess correlation required", + "description" : "Indicates whether correlation is required. This is needed for event-based subprocess message start events", + "value" : "notRequired", + "group" : "correlation", + "binding" : { + "name" : "correlationRequired", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Correlation not required", + "value" : "notRequired" + }, { + "name" : "Correlation required", + "value" : "required" + } ] + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "condition" : { + "property" : "correlationRequired", + "equals" : "required", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "correlationRequired", + "equals" : "required", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA4MCA4MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS82NC9BcmNoX0FXUy1TaW1wbGUtTm90aWZpY2F0aW9uLVNlcnZpY2VfNjQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9JzAlJyB5MT0nMTAwJScgeDI9JzEwMCUnIHkyPScwJScgaWQ9J2xpbmVhckdyYWRpZW50LTEnPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPScjQjAwODREJyBvZmZzZXQ9JzAlJz48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNGRjRGOEInIG9mZnNldD0nMTAwJSc+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0nSWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtU2ltcGxlLU5vdGlmaWNhdGlvbi1TZXJ2aWNlXzY0JyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScKICAgICAgIGZpbGwtcnVsZT0nZXZlbm9kZCc+CiAgICAgICAgPGcgaWQ9J0ljb24tQXJjaGl0ZWN0dXJlLUJHLzY0L0FwcGxpY2F0aW9uLUludGVncmF0aW9uJyBmaWxsPSd1cmwoI2xpbmVhckdyYWRpZW50LTEpJz4KICAgICAgICAgICAgPHJlY3QgaWQ9J1JlY3RhbmdsZScgeD0nMCcgeT0nMCcgd2lkdGg9JzgwJyBoZWlnaHQ9JzgwJz48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGQ9J00xNywzOCBDMTguMTAzLDM4IDE5LDM4Ljg5NyAxOSw0MCBDMTksNDEuMTAzIDE4LjEwMyw0MiAxNyw0MiBDMTUuODk3LDQyIDE1LDQxLjEwMyAxNSw0MCBDMTUsMzguODk3IDE1Ljg5NywzOCAxNywzOCBMMTcsMzggWiBNNDEsNjQgQzI5LjMxNCw2NCAxOS4yODksNTUuNDY2IDE3LjE5NCw0My45OCBDMTguOTY1LDQzLjg5NCAyMC40MjcsNDIuNjU5IDIwLjg1Nyw0MSBMMjcsNDEgTDI3LDM5IEwyMC44NTcsMzkgQzIwLjQyNywzNy4zNDIgMTguOTY2LDM2LjEwNyAxNy4xOTUsMzYuMDIgQzE5LjI4NSwyNC43MSAyOS41MTEsMTYgNDEsMTYgQzQ1LjMxMywxNiA0OS44MzIsMTcuNjIyIDU0LjQyOSwyMC44MjEgTDU1LjU3MSwxOS4xNzkgQzUwLjYzMywxNS43NDMgNDUuNzMsMTQgNDEsMTQgQzI4LjI3LDE0IDE2Ljk0OSwyMy44NjUgMTUuMDYzLDM2LjUyMSBDMTMuODM5LDM3LjIwNyAxMywzOC41IDEzLDQwIEMxMyw0MS41IDEzLjgzOSw0Mi43OTMgMTUuMDYzLDQzLjQ3OCBDMTYuOTcsNTYuMzQxIDI4LjA1Niw2NiA0MSw2NiBDNDYuNDA3LDY2IDUxLjk0Miw2NC4xNTcgNTYuNTg1LDYwLjgxMSBMNTUuNDE1LDU5LjE4OSBDNTEuMTEsNjIuMjkyIDQ1Ljk5MSw2NCA0MSw2NCBMNDEsNjQgWiBNMzAuMTAxLDM2LjQ0MiBDMzEuOTU1LDM2Ljg5NSAzNC4yNzUsMzcgMzYsMzcgQzM3LjY0MiwzNyAzOS44MjMsMzYuOTA1IDQxLjYyOSwzNi41MDYgTDM3LjEwNSw0NS41NTMgQzM3LjAzNiw0NS42OTEgMzcsNDUuODQ1IDM3LDQ2IEwzNyw1MC40NTMgQzM2LjE5OSw1MC45NjQgMzQuODMzLDUxLjgxMiAzNCw1MS45ODYgTDM0LDQ2IEMzNCw0NS44NjggMzMuOTc0LDQ1LjczNyAzMy45MjMsNDUuNjE1IEwzMC4xMDEsMzYuNDQyIFogTTM2LDMzIEM0MC4wMjUsMzMgNDIuMTc0LDMzLjYwNCA0Mi44NDEsMzQgQzQyLjE3NCwzNC4zOTYgNDAuMDI1LDM1IDM2LDM1IEMzMS45NzUsMzUgMjkuODI2LDM0LjM5NiAyOS4xNTksMzQgQzI5LjgyNiwzMy42MDQgMzEuOTc1LDMzIDM2LDMzIEwzNiwzMyBaIE0zMyw1NCBMMzQsNTQgQzM0LjA0Myw1NCAzNC4wODYsNTMuOTk3IDM0LjEyOCw1My45OTIgQzM1LjM1Miw1My44MzMgMzYuOTA5LDUyLjg4NyAzOC4yNzIsNTIuMDEzIEwzOC41MzUsNTEuODQ1IEMzOC44MjQsNTEuNjYxIDM5LDUxLjM0MiAzOSw1MSBMMzksNDYuMjM2IEw0NC41NTksMzUuMTIgQzQ0LjgzMywzNC44MDEgNDUsMzQuNDM0IDQ1LDM0IEM0NSwzMS4zOSAzOS4zNjEsMzEgMzYsMzEgQzMyLjYzOSwzMSAyNywzMS4zOSAyNywzNCBDMjcsMzQuMzY2IDI3LjEyLDM0LjY4NCAyNy4zMiwzNC45NjcgTDMyLDQ2LjIgTDMyLDUzIEMzMiw1My41NTIgMzIuNDQ3LDU0IDMzLDU0IEwzMyw1NCBaIE02Miw1MyBDNjMuMTAzLDUzIDY0LDUzLjg5NyA2NCw1NSBDNjQsNTYuMTAzIDYzLjEwMyw1NyA2Miw1NyBDNjAuODk3LDU3IDYwLDU2LjEwMyA2MCw1NSBDNjAsNTMuODk3IDYwLjg5Nyw1MyA2Miw1MyBMNjIsNTMgWiBNNjIsMjMgQzYzLjEwMywyMyA2NCwyMy44OTcgNjQsMjUgQzY0LDI2LjEwMyA2My4xMDMsMjcgNjIsMjcgQzYwLjg5NywyNyA2MCwyNi4xMDMgNjAsMjUgQzYwLDIzLjg5NyA2MC44OTcsMjMgNjIsMjMgTDYyLDIzIFogTTY0LDM4IEM2NS4xMDMsMzggNjYsMzguODk3IDY2LDQwIEM2Niw0MS4xMDMgNjUuMTAzLDQyIDY0LDQyIEM2Mi44OTcsNDIgNjIsNDEuMTAzIDYyLDQwIEM2MiwzOC44OTcgNjIuODk3LDM4IDY0LDM4IEw2NCwzOCBaIE01NCw0MSBMNjAuMTQzLDQxIEM2MC41ODksNDIuNzIgNjIuMTQyLDQ0IDY0LDQ0IEM2Ni4yMDYsNDQgNjgsNDIuMjA2IDY4LDQwIEM2OCwzNy43OTQgNjYuMjA2LDM2IDY0LDM2IEM2Mi4xNDIsMzYgNjAuNTg5LDM3LjI4IDYwLjE0MywzOSBMNTQsMzkgTDU0LDI2IEw1OC4xNDMsMjYgQzU4LjU4OSwyNy43MiA2MC4xNDIsMjkgNjIsMjkgQzY0LjIwNiwyOSA2NiwyNy4yMDYgNjYsMjUgQzY2LDIyLjc5NCA2NC4yMDYsMjEgNjIsMjEgQzYwLjE0MiwyMSA1OC41ODksMjIuMjggNTguMTQzLDI0IEw1MywyNCBDNTIuNDQ3LDI0IDUyLDI0LjQ0OCA1MiwyNSBMNTIsMzkgTDQ1LDM5IEw0NSw0MSBMNTIsNDEgTDUyLDU1IEM1Miw1NS41NTIgNTIuNDQ3LDU2IDUzLDU2IEw1OC4xNDMsNTYgQzU4LjU4OSw1Ny43MiA2MC4xNDIsNTkgNjIsNTkgQzY0LjIwNiw1OSA2Niw1Ny4yMDYgNjYsNTUgQzY2LDUyLjc5NCA2NC4yMDYsNTEgNjIsNTEgQzYwLjE0Miw1MSA1OC41ODksNTIuMjggNTguMTQzLDU0IEw1NCw1NCBMNTQsNDEgWicKICAgICAgICAgICAgICBpZD0nQVdTLVNpbXBsZS1Ob3RpZmljYXRpb24tU2VydmljZV9JY29uXzY0X1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-start-event-hybrid.json b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-start-event-hybrid.json new file mode 100644 index 0000000000..9658e3b5bd --- /dev/null +++ b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-inbound-start-event-hybrid.json @@ -0,0 +1,125 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid SNS HTTPS Start Event Connector", + "id" : "io.camunda.connectors.inbound.AWSSNS.StartEvent.v1-hybrid", + "description" : "Receive events from AWS SNS", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sns/?amazonsns=inbound", + "version" : 4, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "subscription", + "label" : "Subscription Configuration" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:aws-sns-webhook:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.context", + "label" : "Subscription ID", + "description" : "The subscription ID is a part of the URL endpoint", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "subscription", + "binding" : { + "name" : "inbound.context", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.securitySubscriptionAllowedFor", + "label" : "Allow to receive messages from topic(s)", + "description" : "Control which topic(s) is allowed to start a process", + "optional" : false, + "value" : "any", + "group" : "subscription", + "binding" : { + "name" : "inbound.securitySubscriptionAllowedFor", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Any", + "value" : "any" + }, { + "name" : "Specific topic(s)", + "value" : "specific" + } ] + }, { + "id" : "inbound.topicsAllowList", + "label" : "Topic ARN(s)", + "description" : "Topics that allow to publish messages", + "optional" : true, + "feel" : "optional", + "group" : "subscription", + "binding" : { + "name" : "inbound.topicsAllowList", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.securitySubscriptionAllowedFor", + "equals" : "specific", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA4MCA4MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS82NC9BcmNoX0FXUy1TaW1wbGUtTm90aWZpY2F0aW9uLVNlcnZpY2VfNjQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9JzAlJyB5MT0nMTAwJScgeDI9JzEwMCUnIHkyPScwJScgaWQ9J2xpbmVhckdyYWRpZW50LTEnPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPScjQjAwODREJyBvZmZzZXQ9JzAlJz48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNGRjRGOEInIG9mZnNldD0nMTAwJSc+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0nSWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtU2ltcGxlLU5vdGlmaWNhdGlvbi1TZXJ2aWNlXzY0JyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScKICAgICAgIGZpbGwtcnVsZT0nZXZlbm9kZCc+CiAgICAgICAgPGcgaWQ9J0ljb24tQXJjaGl0ZWN0dXJlLUJHLzY0L0FwcGxpY2F0aW9uLUludGVncmF0aW9uJyBmaWxsPSd1cmwoI2xpbmVhckdyYWRpZW50LTEpJz4KICAgICAgICAgICAgPHJlY3QgaWQ9J1JlY3RhbmdsZScgeD0nMCcgeT0nMCcgd2lkdGg9JzgwJyBoZWlnaHQ9JzgwJz48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGQ9J00xNywzOCBDMTguMTAzLDM4IDE5LDM4Ljg5NyAxOSw0MCBDMTksNDEuMTAzIDE4LjEwMyw0MiAxNyw0MiBDMTUuODk3LDQyIDE1LDQxLjEwMyAxNSw0MCBDMTUsMzguODk3IDE1Ljg5NywzOCAxNywzOCBMMTcsMzggWiBNNDEsNjQgQzI5LjMxNCw2NCAxOS4yODksNTUuNDY2IDE3LjE5NCw0My45OCBDMTguOTY1LDQzLjg5NCAyMC40MjcsNDIuNjU5IDIwLjg1Nyw0MSBMMjcsNDEgTDI3LDM5IEwyMC44NTcsMzkgQzIwLjQyNywzNy4zNDIgMTguOTY2LDM2LjEwNyAxNy4xOTUsMzYuMDIgQzE5LjI4NSwyNC43MSAyOS41MTEsMTYgNDEsMTYgQzQ1LjMxMywxNiA0OS44MzIsMTcuNjIyIDU0LjQyOSwyMC44MjEgTDU1LjU3MSwxOS4xNzkgQzUwLjYzMywxNS43NDMgNDUuNzMsMTQgNDEsMTQgQzI4LjI3LDE0IDE2Ljk0OSwyMy44NjUgMTUuMDYzLDM2LjUyMSBDMTMuODM5LDM3LjIwNyAxMywzOC41IDEzLDQwIEMxMyw0MS41IDEzLjgzOSw0Mi43OTMgMTUuMDYzLDQzLjQ3OCBDMTYuOTcsNTYuMzQxIDI4LjA1Niw2NiA0MSw2NiBDNDYuNDA3LDY2IDUxLjk0Miw2NC4xNTcgNTYuNTg1LDYwLjgxMSBMNTUuNDE1LDU5LjE4OSBDNTEuMTEsNjIuMjkyIDQ1Ljk5MSw2NCA0MSw2NCBMNDEsNjQgWiBNMzAuMTAxLDM2LjQ0MiBDMzEuOTU1LDM2Ljg5NSAzNC4yNzUsMzcgMzYsMzcgQzM3LjY0MiwzNyAzOS44MjMsMzYuOTA1IDQxLjYyOSwzNi41MDYgTDM3LjEwNSw0NS41NTMgQzM3LjAzNiw0NS42OTEgMzcsNDUuODQ1IDM3LDQ2IEwzNyw1MC40NTMgQzM2LjE5OSw1MC45NjQgMzQuODMzLDUxLjgxMiAzNCw1MS45ODYgTDM0LDQ2IEMzNCw0NS44NjggMzMuOTc0LDQ1LjczNyAzMy45MjMsNDUuNjE1IEwzMC4xMDEsMzYuNDQyIFogTTM2LDMzIEM0MC4wMjUsMzMgNDIuMTc0LDMzLjYwNCA0Mi44NDEsMzQgQzQyLjE3NCwzNC4zOTYgNDAuMDI1LDM1IDM2LDM1IEMzMS45NzUsMzUgMjkuODI2LDM0LjM5NiAyOS4xNTksMzQgQzI5LjgyNiwzMy42MDQgMzEuOTc1LDMzIDM2LDMzIEwzNiwzMyBaIE0zMyw1NCBMMzQsNTQgQzM0LjA0Myw1NCAzNC4wODYsNTMuOTk3IDM0LjEyOCw1My45OTIgQzM1LjM1Miw1My44MzMgMzYuOTA5LDUyLjg4NyAzOC4yNzIsNTIuMDEzIEwzOC41MzUsNTEuODQ1IEMzOC44MjQsNTEuNjYxIDM5LDUxLjM0MiAzOSw1MSBMMzksNDYuMjM2IEw0NC41NTksMzUuMTIgQzQ0LjgzMywzNC44MDEgNDUsMzQuNDM0IDQ1LDM0IEM0NSwzMS4zOSAzOS4zNjEsMzEgMzYsMzEgQzMyLjYzOSwzMSAyNywzMS4zOSAyNywzNCBDMjcsMzQuMzY2IDI3LjEyLDM0LjY4NCAyNy4zMiwzNC45NjcgTDMyLDQ2LjIgTDMyLDUzIEMzMiw1My41NTIgMzIuNDQ3LDU0IDMzLDU0IEwzMyw1NCBaIE02Miw1MyBDNjMuMTAzLDUzIDY0LDUzLjg5NyA2NCw1NSBDNjQsNTYuMTAzIDYzLjEwMyw1NyA2Miw1NyBDNjAuODk3LDU3IDYwLDU2LjEwMyA2MCw1NSBDNjAsNTMuODk3IDYwLjg5Nyw1MyA2Miw1MyBMNjIsNTMgWiBNNjIsMjMgQzYzLjEwMywyMyA2NCwyMy44OTcgNjQsMjUgQzY0LDI2LjEwMyA2My4xMDMsMjcgNjIsMjcgQzYwLjg5NywyNyA2MCwyNi4xMDMgNjAsMjUgQzYwLDIzLjg5NyA2MC44OTcsMjMgNjIsMjMgTDYyLDIzIFogTTY0LDM4IEM2NS4xMDMsMzggNjYsMzguODk3IDY2LDQwIEM2Niw0MS4xMDMgNjUuMTAzLDQyIDY0LDQyIEM2Mi44OTcsNDIgNjIsNDEuMTAzIDYyLDQwIEM2MiwzOC44OTcgNjIuODk3LDM4IDY0LDM4IEw2NCwzOCBaIE01NCw0MSBMNjAuMTQzLDQxIEM2MC41ODksNDIuNzIgNjIuMTQyLDQ0IDY0LDQ0IEM2Ni4yMDYsNDQgNjgsNDIuMjA2IDY4LDQwIEM2OCwzNy43OTQgNjYuMjA2LDM2IDY0LDM2IEM2Mi4xNDIsMzYgNjAuNTg5LDM3LjI4IDYwLjE0MywzOSBMNTQsMzkgTDU0LDI2IEw1OC4xNDMsMjYgQzU4LjU4OSwyNy43MiA2MC4xNDIsMjkgNjIsMjkgQzY0LjIwNiwyOSA2NiwyNy4yMDYgNjYsMjUgQzY2LDIyLjc5NCA2NC4yMDYsMjEgNjIsMjEgQzYwLjE0MiwyMSA1OC41ODksMjIuMjggNTguMTQzLDI0IEw1MywyNCBDNTIuNDQ3LDI0IDUyLDI0LjQ0OCA1MiwyNSBMNTIsMzkgTDQ1LDM5IEw0NSw0MSBMNTIsNDEgTDUyLDU1IEM1Miw1NS41NTIgNTIuNDQ3LDU2IDUzLDU2IEw1OC4xNDMsNTYgQzU4LjU4OSw1Ny43MiA2MC4xNDIsNTkgNjIsNTkgQzY0LjIwNiw1OSA2Niw1Ny4yMDYgNjYsNTUgQzY2LDUyLjc5NCA2NC4yMDYsNTEgNjIsNTEgQzYwLjE0Miw1MSA1OC41ODksNTIuMjggNTguMTQzLDU0IEw1NCw1NCBMNTQsNDEgWicKICAgICAgICAgICAgICBpZD0nQVdTLVNpbXBsZS1Ob3RpZmljYXRpb24tU2VydmljZV9JY29uXzY0X1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-outbound-connector-hybrid.json b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-outbound-connector-hybrid.json new file mode 100644 index 0000000000..642ace28ca --- /dev/null +++ b/connectors/aws/aws-sns/element-templates/hybrid/aws-sns-outbound-connector-hybrid.json @@ -0,0 +1,301 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Amazon SNS Outbound connector", + "id" : "io.camunda.connectors.AWSSNS.v1-hybrid", + "description" : "Send message to topic", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sns/?amazonsns=outbound", + "version" : 7, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:Task" ], + "elementType" : { + "value" : "bpmn:ServiceTask" + }, + "groups" : [ { + "id" : "taskDefinitionType", + "label" : "Task definition type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Topic properties" + }, { + "id" : "input", + "label" : "Input message data" + }, { + "id" : "output", + "label" : "Output mapping" + }, { + "id" : "error", + "label" : "Error handling" + }, { + "id" : "retries", + "label" : "Retries" + } ], + "properties" : [ { + "id" : "taskDefinitionType", + "value" : "io.camunda:aws-sns:1", + "group" : "taskDefinitionType", + "binding" : { + "property" : "type", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "topic.topicArn", + "label" : "Topic ARN", + "description" : "Specify the topic you want to publish to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "configuration", + "binding" : { + "name" : "topic.topicArn", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "topic.type", + "label" : "Topic type", + "description" : "Select SNS topic type. Details at AWS SNS Features", + "optional" : false, + "value" : "standard", + "constraints" : { + "notEmpty" : true + }, + "group" : "configuration", + "binding" : { + "name" : "topic.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Standard", + "value" : "standard" + }, { + "name" : "FIFO", + "value" : "fifo" + } ] + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:input" + }, + "type" : "Hidden" + }, { + "id" : "topic.messageGroupId", + "label" : "Message group ID", + "description" : "Message group ID (FIFO only). See also message grouping for FIFO topics in the Amazon SNS developer guide", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "topic.messageGroupId", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "topic.type", + "equals" : "fifo", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "topic.messageDeduplicationId", + "label" : "Message deduplication ID", + "description" : "Message deduplication ID. See also Message deduplication for FIFO topics in the Amazon SNS developer guide", + "optional" : true, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "topic.messageDeduplicationId", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "topic.type", + "equals" : "fifo", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "topic.subject", + "label" : "Subject", + "description" : "Specify the subject of the message you want to publish in the SNS topic", + "optional" : true, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "topic.subject", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "topic.message", + "label" : "Message", + "description" : "Data to publish in the SNS topic", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "topic.message", + "type" : "zeebe:input" + }, + "type" : "Text" + }, { + "id" : "topic.messageAttributes", + "label" : "messageAttributes", + "description" : "Message attributes metadata", + "optional" : true, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "topic.messageAttributes", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "key" : "resultVariable", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "key" : "resultExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "errorExpression", + "label" : "Error expression", + "description" : "Expression to handle errors. Details in the documentation.", + "feel" : "required", + "group" : "error", + "binding" : { + "key" : "errorExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "retryCount", + "label" : "Retries", + "description" : "Number of retries", + "value" : "3", + "feel" : "optional", + "group" : "retries", + "binding" : { + "property" : "retries", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "retryBackoff", + "label" : "Retry backoff", + "description" : "ISO-8601 duration to wait between retries", + "value" : "PT0S", + "feel" : "optional", + "group" : "retries", + "binding" : { + "key" : "retryBackoff", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA4MCA4MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS82NC9BcmNoX0FXUy1TaW1wbGUtTm90aWZpY2F0aW9uLVNlcnZpY2VfNjQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9JzAlJyB5MT0nMTAwJScgeDI9JzEwMCUnIHkyPScwJScgaWQ9J2xpbmVhckdyYWRpZW50LTEnPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPScjQjAwODREJyBvZmZzZXQ9JzAlJz48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNGRjRGOEInIG9mZnNldD0nMTAwJSc+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0nSWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtU2ltcGxlLU5vdGlmaWNhdGlvbi1TZXJ2aWNlXzY0JyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScKICAgICAgIGZpbGwtcnVsZT0nZXZlbm9kZCc+CiAgICAgICAgPGcgaWQ9J0ljb24tQXJjaGl0ZWN0dXJlLUJHLzY0L0FwcGxpY2F0aW9uLUludGVncmF0aW9uJyBmaWxsPSd1cmwoI2xpbmVhckdyYWRpZW50LTEpJz4KICAgICAgICAgICAgPHJlY3QgaWQ9J1JlY3RhbmdsZScgeD0nMCcgeT0nMCcgd2lkdGg9JzgwJyBoZWlnaHQ9JzgwJz48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGQ9J00xNywzOCBDMTguMTAzLDM4IDE5LDM4Ljg5NyAxOSw0MCBDMTksNDEuMTAzIDE4LjEwMyw0MiAxNyw0MiBDMTUuODk3LDQyIDE1LDQxLjEwMyAxNSw0MCBDMTUsMzguODk3IDE1Ljg5NywzOCAxNywzOCBMMTcsMzggWiBNNDEsNjQgQzI5LjMxNCw2NCAxOS4yODksNTUuNDY2IDE3LjE5NCw0My45OCBDMTguOTY1LDQzLjg5NCAyMC40MjcsNDIuNjU5IDIwLjg1Nyw0MSBMMjcsNDEgTDI3LDM5IEwyMC44NTcsMzkgQzIwLjQyNywzNy4zNDIgMTguOTY2LDM2LjEwNyAxNy4xOTUsMzYuMDIgQzE5LjI4NSwyNC43MSAyOS41MTEsMTYgNDEsMTYgQzQ1LjMxMywxNiA0OS44MzIsMTcuNjIyIDU0LjQyOSwyMC44MjEgTDU1LjU3MSwxOS4xNzkgQzUwLjYzMywxNS43NDMgNDUuNzMsMTQgNDEsMTQgQzI4LjI3LDE0IDE2Ljk0OSwyMy44NjUgMTUuMDYzLDM2LjUyMSBDMTMuODM5LDM3LjIwNyAxMywzOC41IDEzLDQwIEMxMyw0MS41IDEzLjgzOSw0Mi43OTMgMTUuMDYzLDQzLjQ3OCBDMTYuOTcsNTYuMzQxIDI4LjA1Niw2NiA0MSw2NiBDNDYuNDA3LDY2IDUxLjk0Miw2NC4xNTcgNTYuNTg1LDYwLjgxMSBMNTUuNDE1LDU5LjE4OSBDNTEuMTEsNjIuMjkyIDQ1Ljk5MSw2NCA0MSw2NCBMNDEsNjQgWiBNMzAuMTAxLDM2LjQ0MiBDMzEuOTU1LDM2Ljg5NSAzNC4yNzUsMzcgMzYsMzcgQzM3LjY0MiwzNyAzOS44MjMsMzYuOTA1IDQxLjYyOSwzNi41MDYgTDM3LjEwNSw0NS41NTMgQzM3LjAzNiw0NS42OTEgMzcsNDUuODQ1IDM3LDQ2IEwzNyw1MC40NTMgQzM2LjE5OSw1MC45NjQgMzQuODMzLDUxLjgxMiAzNCw1MS45ODYgTDM0LDQ2IEMzNCw0NS44NjggMzMuOTc0LDQ1LjczNyAzMy45MjMsNDUuNjE1IEwzMC4xMDEsMzYuNDQyIFogTTM2LDMzIEM0MC4wMjUsMzMgNDIuMTc0LDMzLjYwNCA0Mi44NDEsMzQgQzQyLjE3NCwzNC4zOTYgNDAuMDI1LDM1IDM2LDM1IEMzMS45NzUsMzUgMjkuODI2LDM0LjM5NiAyOS4xNTksMzQgQzI5LjgyNiwzMy42MDQgMzEuOTc1LDMzIDM2LDMzIEwzNiwzMyBaIE0zMyw1NCBMMzQsNTQgQzM0LjA0Myw1NCAzNC4wODYsNTMuOTk3IDM0LjEyOCw1My45OTIgQzM1LjM1Miw1My44MzMgMzYuOTA5LDUyLjg4NyAzOC4yNzIsNTIuMDEzIEwzOC41MzUsNTEuODQ1IEMzOC44MjQsNTEuNjYxIDM5LDUxLjM0MiAzOSw1MSBMMzksNDYuMjM2IEw0NC41NTksMzUuMTIgQzQ0LjgzMywzNC44MDEgNDUsMzQuNDM0IDQ1LDM0IEM0NSwzMS4zOSAzOS4zNjEsMzEgMzYsMzEgQzMyLjYzOSwzMSAyNywzMS4zOSAyNywzNCBDMjcsMzQuMzY2IDI3LjEyLDM0LjY4NCAyNy4zMiwzNC45NjcgTDMyLDQ2LjIgTDMyLDUzIEMzMiw1My41NTIgMzIuNDQ3LDU0IDMzLDU0IEwzMyw1NCBaIE02Miw1MyBDNjMuMTAzLDUzIDY0LDUzLjg5NyA2NCw1NSBDNjQsNTYuMTAzIDYzLjEwMyw1NyA2Miw1NyBDNjAuODk3LDU3IDYwLDU2LjEwMyA2MCw1NSBDNjAsNTMuODk3IDYwLjg5Nyw1MyA2Miw1MyBMNjIsNTMgWiBNNjIsMjMgQzYzLjEwMywyMyA2NCwyMy44OTcgNjQsMjUgQzY0LDI2LjEwMyA2My4xMDMsMjcgNjIsMjcgQzYwLjg5NywyNyA2MCwyNi4xMDMgNjAsMjUgQzYwLDIzLjg5NyA2MC44OTcsMjMgNjIsMjMgTDYyLDIzIFogTTY0LDM4IEM2NS4xMDMsMzggNjYsMzguODk3IDY2LDQwIEM2Niw0MS4xMDMgNjUuMTAzLDQyIDY0LDQyIEM2Mi44OTcsNDIgNjIsNDEuMTAzIDYyLDQwIEM2MiwzOC44OTcgNjIuODk3LDM4IDY0LDM4IEw2NCwzOCBaIE01NCw0MSBMNjAuMTQzLDQxIEM2MC41ODksNDIuNzIgNjIuMTQyLDQ0IDY0LDQ0IEM2Ni4yMDYsNDQgNjgsNDIuMjA2IDY4LDQwIEM2OCwzNy43OTQgNjYuMjA2LDM2IDY0LDM2IEM2Mi4xNDIsMzYgNjAuNTg5LDM3LjI4IDYwLjE0MywzOSBMNTQsMzkgTDU0LDI2IEw1OC4xNDMsMjYgQzU4LjU4OSwyNy43MiA2MC4xNDIsMjkgNjIsMjkgQzY0LjIwNiwyOSA2NiwyNy4yMDYgNjYsMjUgQzY2LDIyLjc5NCA2NC4yMDYsMjEgNjIsMjEgQzYwLjE0MiwyMSA1OC41ODksMjIuMjggNTguMTQzLDI0IEw1MywyNCBDNTIuNDQ3LDI0IDUyLDI0LjQ0OCA1MiwyNSBMNTIsMzkgTDQ1LDM5IEw0NSw0MSBMNTIsNDEgTDUyLDU1IEM1Miw1NS41NTIgNTIuNDQ3LDU2IDUzLDU2IEw1OC4xNDMsNTYgQzU4LjU4OSw1Ny43MiA2MC4xNDIsNTkgNjIsNTkgQzY0LjIwNiw1OSA2Niw1Ny4yMDYgNjYsNTUgQzY2LDUyLjc5NCA2NC4yMDYsNTEgNjIsNTEgQzYwLjE0Miw1MSA1OC41ODksNTIuMjggNTguMTQzLDU0IEw1NCw1NCBMNTQsNDEgWicKICAgICAgICAgICAgICBpZD0nQVdTLVNpbXBsZS1Ob3RpZmljYXRpb24tU2VydmljZV9JY29uXzY0X1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sns/pom.xml b/connectors/aws/aws-sns/pom.xml index dbc8011a6e..4a446b4cf4 100644 --- a/connectors/aws/aws-sns/pom.xml +++ b/connectors/aws/aws-sns/pom.xml @@ -65,6 +65,7 @@ except in compliance with the proprietary license. aws-sns-outbound-connector.json + true io.camunda.connector.sns.inbound.SnsWebhookExecutable @@ -86,6 +87,7 @@ except in compliance with the proprietary license. aws-sns-inbound-boundary.json + true diff --git a/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-boundary-connector-hybrid.json b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-boundary-connector-hybrid.json new file mode 100644 index 0000000000..dd4e91502d --- /dev/null +++ b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-boundary-connector-hybrid.json @@ -0,0 +1,279 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Amazon SQS Boundary Event Connector", + "id" : "io.camunda.connectors.AWSSQS.boundary.v1-hybrid", + "description" : "Receive message from a queue", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", + "version" : 9, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:BoundaryEvent" ], + "elementType" : { + "value" : "bpmn:BoundaryEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Configuration" + }, { + "id" : "queueProperties", + "label" : "Queue properties" + }, { + "id" : "messagePollingProperties", + "label" : "Message polling properties" + }, { + "id" : "input", + "label" : "Use next attribute names for activation condition" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:aws-sqs-inbound:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:property" + }, + "type" : "Hidden" + }, { + "id" : "queue.queue.url", + "label" : "Queue URL", + "description" : "Specify the URL of the SQS queue where you would like to subscribe to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "queueProperties", + "binding" : { + "name" : "queue.url", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.pollingWaitTime", + "label" : "Polling wait time", + "description" : "The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. See documentation for details", + "optional" : false, + "value" : "20", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^([0-9]?|1[0-9]|20|secrets\\..+)$" + } + }, + "group" : "messagePollingProperties", + "binding" : { + "name" : "queue.pollingWaitTime", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.attributeNames", + "label" : "Attribute names", + "description" : "Array of queue attribute names. See documentation for details", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.attributeNames", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.messageAttributeNames", + "label" : "Message attribute names", + "description" : "Array of message attribute names. See documentation for details", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.messageAttributeNames", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA0MCA0MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0nMCUnIHkxPScxMDAlJyB4Mj0nMTAwJScgeTI9JzAlJyBpZD0nbGluZWFyR3JhZGllbnQtMSc+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNCMDA4NEQnIG9mZnNldD0nMCUnPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0nI0ZGNEY4Qicgb2Zmc2V0PScxMDAlJz48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMicgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnCiAgICAgICBmaWxsLXJ1bGU9J2V2ZW5vZGQnPgogICAgICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS1CRy8zMi9BcHBsaWNhdGlvbi1JbnRlZ3JhdGlvbicgZmlsbD0ndXJsKCNsaW5lYXJHcmFkaWVudC0xKSc+CiAgICAgICAgICAgIDxyZWN0IGlkPSdSZWN0YW5nbGUnIHg9JzAnIHk9JzAnIHdpZHRoPSc0MCcgaGVpZ2h0PSc0MCc+PC9yZWN0PgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBkPSdNMTQuMzQyMjA1MSwyMi4zNDkzNzg2IEwxNS44NDY2NzY3LDIwLjkwNjEwNzQgQzE1Ljk0MjgzNDcsMjAuODE0MTUzOSAxNS45OTY5MjM1LDIwLjY4NzIxOCAxNS45OTk5Mjg1LDIwLjU1NTI4NDYgQzE2LjAwMTkzMTcsMjAuNDIyMzUxNyAxNS45NTE4NDk1LDIwLjI5MzQxNjggMTUuODU5Njk4MSwyMC4xOTg0NjQ4IEwxNC4zNTUyMjY0LDE4LjY0MzI1MDIgTDEzLjYzNTA0MzMsMTkuMzM3ODk5NCBMMTQuMzExMTU0LDIwLjAzNzU0NiBMMTEuOTkxMzQyOSwyMC4wMzc1NDYgTDExLjk5MTM0MjksMjEuMDM3MDQxMyBMMTQuMjY1MDc4MywyMS4wMzcwNDEzIEwxMy42NDgwNjQ3LDIxLjYyODc0MjUgTDE0LjM0MjIwNTEsMjIuMzQ5Mzc4NiBaIE0yNi4zNTc5NDUyLDIyLjM1MzM3NjUgTDI3LjkwNzQ5MDksMjAuOTAwMTEwNCBDMjguMDA2NjUzOCwyMC44MDgxNTY5IDI4LjA2Mjc0NTksMjAuNjc5MjIyIDI4LjA2NDc0OTIsMjAuNTQ0MjkwMSBDMjguMDY2NzUyNSwyMC40MDkzNTgzIDI4LjAxMzY2NTMsMjAuMjc4NDI0NCAyNy45MTg1MDksMjAuMTgzNDcyNCBMMjYuMzY4OTYzMywxOC42MzcyNTMyIEwyNS42NjA3OTk5LDE5LjM0Mzg5NjMgTDI2LjM1NDk0MDMsMjAuMDM3NTQ2IEwyNC4wMTEwODk2LDIwLjAzNzU0NiBMMjQuMDExMDg5NiwyMS4wMzcwNDEzIEwyNi4yOTg4NDgxLDIxLjAzNzA0MTMgTDI1LjY3MTgxOCwyMS42MjQ3NDQ1IEwyNi4zNTc5NDUyLDIyLjM1MzM3NjUgWiBNMTcuNTg3NTM2NywyMy4zNjA4Njc4IEMxOC4zMzg3NzA4LDIzLjA1NzAyMTIgMTkuMTYyMTIzNSwyMi44OTQxMDM1IDIwLjAwNDUwNzQsMjIuODk0MTAzNSBDMjAuODQ2ODkxMywyMi44OTQxMDM1IDIxLjY3MDI0NCwyMy4wNTcwMjEyIDIyLjQyMTQ3ODEsMjMuMzYwODY3OCBDMjEuNzUyMzc4OSwyMS41ODk3NjIyIDIxLjc1MjM3ODksMTkuMzg5ODczMSAyMi40MjE0NzgxLDE3LjYxODc2NzUgQzIwLjkxOTAwOTgsMTguMjI2NDYwNiAxOS4wOTAwMDUsMTguMjI2NDYwNiAxNy41ODc1MzY3LDE3LjYxODc2NzUgQzE4LjI1NjYzNTksMTkuMzg5ODczMSAxOC4yNTY2MzU5LDIxLjU4OTc2MjIgMTcuNTg3NTM2NywyMy4zNjA4Njc4IEwxNy41ODc1MzY3LDIzLjM2MDg2NzggWiBNMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IEMxNS41NDYxODMsMjUuMjQzOTE2OCAxNS40OTcxMDI0LDI1LjExNTk4MTQgMTUuNDk3MTAyNCwyNC45ODgwNDYgQzE1LjQ5NzEwMjQsMjQuODYwMTEwNiAxNS41NDYxODMsMjQuNzMyMTc1MyAxNS42NDQzNDQzLDI0LjYzNDIyNDcgQzE3LjU4NDUzMTcsMjIuNjk4MjAyNCAxNy41ODQ1MzE3LDE4LjI4MjQzMjQgMTUuNjQ0MzQ0MywxNi4zNDU0MTA2IEMxNS41NDYxODMsMTYuMjQ4NDU5NSAxNS40OTcxMDI0LDE2LjEyMDUyNDEgMTUuNDk3MTAyNCwxNS45OTI1OTEyIEMxNS40OTcxMDI0LDE1Ljg2NDY1MzQgMTUuNTQ2MTgzLDE1LjczNjcxOCAxNS42NDQzNDQzLDE1LjYzODc2NzQgQzE1LjgzOTY2NTIsMTUuNDQzODY1OSAxNi4xNTcxODY4LDE1LjQ0Mzg2NTkgMTYuMzUyNTA3NywxNS42Mzg3Njc0IEMxNy4yNzQwMjE2LDE2LjU1ODMwMzEgMTguNjA1MjA4NiwxNy4wODYwMzY2IDIwLjAwNDUwNzQsMTcuMDg2MDM2NiBDMjEuNDA0ODA3OSwxNy4wODYwMzY2IDIyLjczNTk5NDgsMTYuNTU4MzAzMSAyMy42NTc1MDg4LDE1LjYzODc2NzQgQzIzLjg1MjgyOTYsMTUuNDQzODY1OSAyNC4xNzAzNTEzLDE1LjQ0Mzg2NTkgMjQuMzY1NjcyMiwxNS42Mzg3Njc0IEMyNC40NjI4MzE4LDE1LjczNjcxOCAyNC41MTE5MTI0LDE1Ljg2NDY1MzQgMjQuNTExOTEyNCwxNS45OTI1OTEyIEMyNC41MTE5MTI0LDE2LjEyMDUyNDEgMjQuNDYyODMxOCwxNi4yNDg0NTk1IDI0LjM2NTY3MjIsMTYuMzQ1NDEwNiBDMjIuNDI0NDgzMSwxOC4yODI0MzI0IDIyLjQyNDQ4MzEsMjIuNjk4MjAyNCAyNC4zNjU2NzIyLDI0LjYzNDIyNDcgQzI0LjQ2MjgzMTgsMjQuNzMyMTc1MyAyNC41MTE5MTI0LDI0Ljg2MDExMDYgMjQuNTExOTEyNCwyNC45ODgwNDYgQzI0LjUxMTkxMjQsMjUuMTE1OTgxNCAyNC40NjI4MzE4LDI1LjI0MzkxNjggMjQuMzY1NjcyMiwyNS4zNDA4Njc5IEMyNC4yNjc1MTA5LDI1LjQzODgxODQgMjQuMTM5MzAwMywyNS40ODc3OTM3IDI0LjAxMTA4OTYsMjUuNDg3NzkzNyBDMjMuODgyODc5LDI1LjQ4Nzc5MzcgMjMuNzU0NjY4NCwyNS40Mzg4MTg0IDIzLjY1NzUwODgsMjUuMzQwODY3OSBDMjIuNzM1OTk0OCwyNC40MjEzMzIyIDIxLjQwNDgwNzksMjMuODkzNTk4NyAyMC4wMDQ1MDc0LDIzLjg5MzU5ODcgQzE4LjYwNTIwODYsMjMuODkzNTk4NyAxNy4yNzQwMjE2LDI0LjQyMTMzMjIgMTYuMzUyNTA3NywyNS4zNDA4Njc5IEMxNi4xNTcxODY4LDI1LjUzNTc2OTQgMTUuODM5NjY1MiwyNS41MzU3Njk0IDE1LjY0NDM0NDMsMjUuMzQwODY3OSBMMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IFogTTMyLjU0MjEwNDksMTkuNDM1ODQ5OSBDMzIuMjM2NjAzLDE5LjEzMjAwMzMgMzEuODM2OTQ2NCwxOC45ODAwODAxIDMxLjQzNjI4ODIsMTguOTgwMDgwMSBDMzEuMDM2NjMxNiwxOC45ODAwODAxIDMwLjYzNjk3NSwxOS4xMzIwMDMzIDMwLjMzMTQ3MzEsMTkuNDM1ODQ5OSBDMjkuNzIxNDcxLDIwLjA0NDU0MjUgMjkuNzIxNDcxLDIxLjAzNDA0MjggMzAuMzMxNDczMSwyMS42NDE3MzU5IEMzMC45NDE0NzUzLDIyLjI1MDQyODUgMzEuOTMyMTAyNywyMi4yNTA0Mjg1IDMyLjU0MjEwNDksMjEuNjQxNzM1OSBDMzMuMTUxMTA1NCwyMS4wMzQwNDI4IDMzLjE1MTEwNTQsMjAuMDQ0NTQyNSAzMi41NDIxMDQ5LDE5LjQzNTg0OTkgTDMyLjU0MjEwNDksMTkuNDM1ODQ5OSBaIE0zMy4yNTAyNjgzLDIyLjM0OTM3ODYgQzMyLjc1MDQ0NzIsMjIuODQ4MTI2NyAzMi4wOTMzNjc3LDIzLjA5ODAwMDUgMzEuNDM2Mjg4MiwyMy4wOTgwMDA1IEMzMC43ODAyMTAzLDIzLjA5ODAwMDUgMzAuMTIzMTMwOSwyMi44NDgxMjY3IDI5LjYyMzMwOTcsMjIuMzQ5Mzc4NiBDMjguNjIzNjY3NSwyMS4zNTA4ODI4IDI4LjYyMzY2NzUsMTkuNzI3NzAyNSAyOS42MjMzMDk3LDE4LjcyOTIwNjggQzMwLjYyMjk1MiwxNy43MzE3MTA1IDMyLjI1MDYyNiwxNy43MzE3MTA1IDMzLjI1MDI2ODMsMTguNzI5MjA2OCBDMzQuMjQ5OTEwNiwxOS43Mjc3MDI1IDM0LjI0OTkxMDYsMjEuMzUwODgyOCAzMy4yNTAyNjgzLDIyLjM0OTM3ODYgTDMzLjI1MDI2ODMsMjIuMzQ5Mzc4NiBaIE05LjY2ODUyNjg3LDE5LjQ0Njg0NDMgQzkuMzYzMDI0OTcsMTkuMTQyOTk3OCA4Ljk2MzM2ODM5LDE4Ljk5MTA3NDUgOC41NjI3MTAxNywxOC45OTEwNzQ1IEM4LjE2MzA1MzU5LDE4Ljk5MTA3NDUgNy43NjMzOTcwMSwxOS4xNDI5OTc4IDcuNDU3ODk1MTEsMTkuNDQ2ODQ0MyBDNi44NDg4OTQ2MSwyMC4wNTU1MzcgNi44NDg4OTQ2MSwyMS4wNDUwMzczIDcuNDU3ODk1MTEsMjEuNjUyNzMwNCBDOC4wNjc4OTcyNiwyMi4yNjE0MjMgOS4wNTg1MjQ3MiwyMi4yNjE0MjMgOS42Njg1MjY4NywyMS42NTI3MzA0IEMxMC4yNzc1Mjc0LDIxLjA0NTAzNzMgMTAuMjc3NTI3NCwyMC4wNTU1MzcgOS42Njg1MjY4NywxOS40NDY4NDQzIEw5LjY2ODUyNjg3LDE5LjQ0Njg0NDMgWiBNMTAuMzc2NjkwMywyMi4zNTkzNzM1IEM5Ljg3Njg2OTE0LDIyLjg1ODEyMTcgOS4yMTk3ODk2NSwyMy4xMDc5OTU1IDguNTYyNzEwMTcsMjMuMTA3OTk1NSBDNy45MDY2MzIzMiwyMy4xMDc5OTU1IDcuMjQ5NTUyODQsMjIuODU4MTIxNyA2Ljc0OTczMTcsMjIuMzU5MzczNSBDNS43NTAwODk0MywyMS4zNjE4NzczIDUuNzUwMDg5NDMsMTkuNzM4Njk3IDYuNzQ5NzMxNywxOC43NDAyMDEyIEM3Ljc0OTM3Mzk3LDE3Ljc0MjcwNDkgOS4zNzcwNDgwMSwxNy43NDI3MDQ5IDEwLjM3NjY5MDMsMTguNzQwMjAxMiBDMTEuMzc2MzMyNSwxOS43Mzg2OTcgMTEuMzc2MzMyNSwyMS4zNjE4NzczIDEwLjM3NjY5MDMsMjIuMzU5MzczNSBMMTAuMzc2NjkwMywyMi4zNTkzNzM1IFogTTI3LjQzMzcxMjUsMjguOTEwMDY1NCBDMjUuNDM2NDMxMywzMC45MDMwNTkgMjIuNzgyMDcwNSwzMi4wMDA1MDQ3IDE5Ljk1NzQzMDEsMzIuMDAwNTA0NyBDMTcuMTMyNzg5NiwzMi4wMDA1MDQ3IDE0LjQ3ODQyODgsMzAuOTAzMDU5IDEyLjQ4MjE0OTIsMjguOTEwMDY1NCBDMTEuMTY1OTg3LDI3LjU5NzcyODEgMTAuNDA3NzQxMywyNi40NjkyOTggOS45NDQ5ODEwNCwyNS4xMzU5NzEzIEw4Ljk5ODQyNTk5LDI1LjQ2MjgwNjMgQzkuNTA3MjYxOTMsMjYuOTI5MDY1OCAxMC4zNjI2NjcyLDI4LjIxMDQxODcgMTEuNzczOTg1OCwyOS42MTY3MDg2IEMxMy45NTg1NzQ4LDMxLjc5ODYwNjcgMTYuODY2MzUxOSwzMyAxOS45NTc0MzAxLDMzIEMyMy4wNDk1MDk5LDMzIDI1Ljk1NjI4NTMsMzEuNzk4NjA2NyAyOC4xNDE4NzU5LDI5LjYxNjcwODYgQzI5LjI4Mjc1MDIsMjguNDc4MjgzNSAzMC40MjA2MTk2LDI3LjE4NjkzNTYgMzEuMDExNTkwNSwyNS40NjA4MDczIEwzMC4wNjQwMzM4LDI1LjEzNzk3MDMgQzI5LjUzOTE3MTUsMjYuNjcwMTk2NiAyOC40ODk0NDY5LDI3Ljg1NjU5NzQgMjcuNDMzNzEyNSwyOC45MTAwNjU0IEwyNy40MzM3MTI1LDI4LjkxMDA2NTQgWiBNOS45NDQ5ODEwNCwxNS44NTk2NTU5IEw4Ljk5ODQyNTk5LDE1LjUzMTgyMTQgQzkuNTEwMjY2ODcsMTQuMDY0NTYyNCAxMC4zNjU2NzIyLDEyLjc4MzIwOTUgMTEuNzc1OTg5MSwxMS4zNzU5MjAyIEMxNi4yODYzOTkxLDYuODc1MTkzMDQgMjMuNjI2NDU3OCw2Ljg3NDE5MzU0IDI4LjEzNzg2OTQsMTEuMzc1OTIwMiBDMjkuMjE4NjQ0OSwxMi40NTMzNzYxIDMwLjQwMzU5MTYsMTMuNzg5NzAxMiAzMS4wMTE1OTA1LDE1LjUzMTgyMTQgTDMwLjA2NDAzMzgsMTUuODU5NjU1OSBDMjkuNTI0MTQ2OCwxNC4zMDk0Mzg3IDI4LjQyOTM0ODIsMTMuMDgwMDU5NiAyNy40Mjk3MDU5LDEyLjA4MjU2MzMgQzI1LjQzNDQyOCwxMC4wOTE1Njg4IDIyLjc4MTA2ODksOC45OTYxMjE5NyAxOS45NTc0MzAxLDguOTk2MTIxOTcgQzE3LjEzMzc5MTIsOC45OTYxMjE5NyAxNC40ODA0MzIxLDEwLjA5MTU2ODggMTIuNDg1MTU0MiwxMi4wODI1NjMzIEMxMS4xODcwMjE1LDEzLjM3NzkwOTIgMTAuNDAzNzM0NywxNC41NDIzMjExIDkuOTQ0OTgxMDQsMTUuODU5NjU1OSBMOS45NDQ5ODEwNCwxNS44NTk2NTU5IFonCiAgICAgICAgICAgICAgaWQ9J0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV9JY29uXzMyX1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-inbound-intermediate-connector-hybrid.json b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-inbound-intermediate-connector-hybrid.json new file mode 100644 index 0000000000..90123ead69 --- /dev/null +++ b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-inbound-intermediate-connector-hybrid.json @@ -0,0 +1,279 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Amazon SQS Intermediate Message Catch Event connector", + "id" : "io.camunda.connectors.AWSSQS.intermediate.v1-hybrid", + "description" : "Receive message from a queue", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", + "version" : 9, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent" ], + "elementType" : { + "value" : "bpmn:IntermediateCatchEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Configuration" + }, { + "id" : "queueProperties", + "label" : "Queue properties" + }, { + "id" : "messagePollingProperties", + "label" : "Message polling properties" + }, { + "id" : "input", + "label" : "Use next attribute names for activation condition" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:aws-sqs-inbound:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:property" + }, + "type" : "Hidden" + }, { + "id" : "queue.queue.url", + "label" : "Queue URL", + "description" : "Specify the URL of the SQS queue where you would like to subscribe to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "queueProperties", + "binding" : { + "name" : "queue.url", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.pollingWaitTime", + "label" : "Polling wait time", + "description" : "The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. See documentation for details", + "optional" : false, + "value" : "20", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^([0-9]?|1[0-9]|20|secrets\\..+)$" + } + }, + "group" : "messagePollingProperties", + "binding" : { + "name" : "queue.pollingWaitTime", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.attributeNames", + "label" : "Attribute names", + "description" : "Array of queue attribute names. See documentation for details", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.attributeNames", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.messageAttributeNames", + "label" : "Message attribute names", + "description" : "Array of message attribute names. See documentation for details", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.messageAttributeNames", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA0MCA0MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0nMCUnIHkxPScxMDAlJyB4Mj0nMTAwJScgeTI9JzAlJyBpZD0nbGluZWFyR3JhZGllbnQtMSc+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNCMDA4NEQnIG9mZnNldD0nMCUnPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0nI0ZGNEY4Qicgb2Zmc2V0PScxMDAlJz48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMicgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnCiAgICAgICBmaWxsLXJ1bGU9J2V2ZW5vZGQnPgogICAgICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS1CRy8zMi9BcHBsaWNhdGlvbi1JbnRlZ3JhdGlvbicgZmlsbD0ndXJsKCNsaW5lYXJHcmFkaWVudC0xKSc+CiAgICAgICAgICAgIDxyZWN0IGlkPSdSZWN0YW5nbGUnIHg9JzAnIHk9JzAnIHdpZHRoPSc0MCcgaGVpZ2h0PSc0MCc+PC9yZWN0PgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBkPSdNMTQuMzQyMjA1MSwyMi4zNDkzNzg2IEwxNS44NDY2NzY3LDIwLjkwNjEwNzQgQzE1Ljk0MjgzNDcsMjAuODE0MTUzOSAxNS45OTY5MjM1LDIwLjY4NzIxOCAxNS45OTk5Mjg1LDIwLjU1NTI4NDYgQzE2LjAwMTkzMTcsMjAuNDIyMzUxNyAxNS45NTE4NDk1LDIwLjI5MzQxNjggMTUuODU5Njk4MSwyMC4xOTg0NjQ4IEwxNC4zNTUyMjY0LDE4LjY0MzI1MDIgTDEzLjYzNTA0MzMsMTkuMzM3ODk5NCBMMTQuMzExMTU0LDIwLjAzNzU0NiBMMTEuOTkxMzQyOSwyMC4wMzc1NDYgTDExLjk5MTM0MjksMjEuMDM3MDQxMyBMMTQuMjY1MDc4MywyMS4wMzcwNDEzIEwxMy42NDgwNjQ3LDIxLjYyODc0MjUgTDE0LjM0MjIwNTEsMjIuMzQ5Mzc4NiBaIE0yNi4zNTc5NDUyLDIyLjM1MzM3NjUgTDI3LjkwNzQ5MDksMjAuOTAwMTEwNCBDMjguMDA2NjUzOCwyMC44MDgxNTY5IDI4LjA2Mjc0NTksMjAuNjc5MjIyIDI4LjA2NDc0OTIsMjAuNTQ0MjkwMSBDMjguMDY2NzUyNSwyMC40MDkzNTgzIDI4LjAxMzY2NTMsMjAuMjc4NDI0NCAyNy45MTg1MDksMjAuMTgzNDcyNCBMMjYuMzY4OTYzMywxOC42MzcyNTMyIEwyNS42NjA3OTk5LDE5LjM0Mzg5NjMgTDI2LjM1NDk0MDMsMjAuMDM3NTQ2IEwyNC4wMTEwODk2LDIwLjAzNzU0NiBMMjQuMDExMDg5NiwyMS4wMzcwNDEzIEwyNi4yOTg4NDgxLDIxLjAzNzA0MTMgTDI1LjY3MTgxOCwyMS42MjQ3NDQ1IEwyNi4zNTc5NDUyLDIyLjM1MzM3NjUgWiBNMTcuNTg3NTM2NywyMy4zNjA4Njc4IEMxOC4zMzg3NzA4LDIzLjA1NzAyMTIgMTkuMTYyMTIzNSwyMi44OTQxMDM1IDIwLjAwNDUwNzQsMjIuODk0MTAzNSBDMjAuODQ2ODkxMywyMi44OTQxMDM1IDIxLjY3MDI0NCwyMy4wNTcwMjEyIDIyLjQyMTQ3ODEsMjMuMzYwODY3OCBDMjEuNzUyMzc4OSwyMS41ODk3NjIyIDIxLjc1MjM3ODksMTkuMzg5ODczMSAyMi40MjE0NzgxLDE3LjYxODc2NzUgQzIwLjkxOTAwOTgsMTguMjI2NDYwNiAxOS4wOTAwMDUsMTguMjI2NDYwNiAxNy41ODc1MzY3LDE3LjYxODc2NzUgQzE4LjI1NjYzNTksMTkuMzg5ODczMSAxOC4yNTY2MzU5LDIxLjU4OTc2MjIgMTcuNTg3NTM2NywyMy4zNjA4Njc4IEwxNy41ODc1MzY3LDIzLjM2MDg2NzggWiBNMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IEMxNS41NDYxODMsMjUuMjQzOTE2OCAxNS40OTcxMDI0LDI1LjExNTk4MTQgMTUuNDk3MTAyNCwyNC45ODgwNDYgQzE1LjQ5NzEwMjQsMjQuODYwMTEwNiAxNS41NDYxODMsMjQuNzMyMTc1MyAxNS42NDQzNDQzLDI0LjYzNDIyNDcgQzE3LjU4NDUzMTcsMjIuNjk4MjAyNCAxNy41ODQ1MzE3LDE4LjI4MjQzMjQgMTUuNjQ0MzQ0MywxNi4zNDU0MTA2IEMxNS41NDYxODMsMTYuMjQ4NDU5NSAxNS40OTcxMDI0LDE2LjEyMDUyNDEgMTUuNDk3MTAyNCwxNS45OTI1OTEyIEMxNS40OTcxMDI0LDE1Ljg2NDY1MzQgMTUuNTQ2MTgzLDE1LjczNjcxOCAxNS42NDQzNDQzLDE1LjYzODc2NzQgQzE1LjgzOTY2NTIsMTUuNDQzODY1OSAxNi4xNTcxODY4LDE1LjQ0Mzg2NTkgMTYuMzUyNTA3NywxNS42Mzg3Njc0IEMxNy4yNzQwMjE2LDE2LjU1ODMwMzEgMTguNjA1MjA4NiwxNy4wODYwMzY2IDIwLjAwNDUwNzQsMTcuMDg2MDM2NiBDMjEuNDA0ODA3OSwxNy4wODYwMzY2IDIyLjczNTk5NDgsMTYuNTU4MzAzMSAyMy42NTc1MDg4LDE1LjYzODc2NzQgQzIzLjg1MjgyOTYsMTUuNDQzODY1OSAyNC4xNzAzNTEzLDE1LjQ0Mzg2NTkgMjQuMzY1NjcyMiwxNS42Mzg3Njc0IEMyNC40NjI4MzE4LDE1LjczNjcxOCAyNC41MTE5MTI0LDE1Ljg2NDY1MzQgMjQuNTExOTEyNCwxNS45OTI1OTEyIEMyNC41MTE5MTI0LDE2LjEyMDUyNDEgMjQuNDYyODMxOCwxNi4yNDg0NTk1IDI0LjM2NTY3MjIsMTYuMzQ1NDEwNiBDMjIuNDI0NDgzMSwxOC4yODI0MzI0IDIyLjQyNDQ4MzEsMjIuNjk4MjAyNCAyNC4zNjU2NzIyLDI0LjYzNDIyNDcgQzI0LjQ2MjgzMTgsMjQuNzMyMTc1MyAyNC41MTE5MTI0LDI0Ljg2MDExMDYgMjQuNTExOTEyNCwyNC45ODgwNDYgQzI0LjUxMTkxMjQsMjUuMTE1OTgxNCAyNC40NjI4MzE4LDI1LjI0MzkxNjggMjQuMzY1NjcyMiwyNS4zNDA4Njc5IEMyNC4yNjc1MTA5LDI1LjQzODgxODQgMjQuMTM5MzAwMywyNS40ODc3OTM3IDI0LjAxMTA4OTYsMjUuNDg3NzkzNyBDMjMuODgyODc5LDI1LjQ4Nzc5MzcgMjMuNzU0NjY4NCwyNS40Mzg4MTg0IDIzLjY1NzUwODgsMjUuMzQwODY3OSBDMjIuNzM1OTk0OCwyNC40MjEzMzIyIDIxLjQwNDgwNzksMjMuODkzNTk4NyAyMC4wMDQ1MDc0LDIzLjg5MzU5ODcgQzE4LjYwNTIwODYsMjMuODkzNTk4NyAxNy4yNzQwMjE2LDI0LjQyMTMzMjIgMTYuMzUyNTA3NywyNS4zNDA4Njc5IEMxNi4xNTcxODY4LDI1LjUzNTc2OTQgMTUuODM5NjY1MiwyNS41MzU3Njk0IDE1LjY0NDM0NDMsMjUuMzQwODY3OSBMMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IFogTTMyLjU0MjEwNDksMTkuNDM1ODQ5OSBDMzIuMjM2NjAzLDE5LjEzMjAwMzMgMzEuODM2OTQ2NCwxOC45ODAwODAxIDMxLjQzNjI4ODIsMTguOTgwMDgwMSBDMzEuMDM2NjMxNiwxOC45ODAwODAxIDMwLjYzNjk3NSwxOS4xMzIwMDMzIDMwLjMzMTQ3MzEsMTkuNDM1ODQ5OSBDMjkuNzIxNDcxLDIwLjA0NDU0MjUgMjkuNzIxNDcxLDIxLjAzNDA0MjggMzAuMzMxNDczMSwyMS42NDE3MzU5IEMzMC45NDE0NzUzLDIyLjI1MDQyODUgMzEuOTMyMTAyNywyMi4yNTA0Mjg1IDMyLjU0MjEwNDksMjEuNjQxNzM1OSBDMzMuMTUxMTA1NCwyMS4wMzQwNDI4IDMzLjE1MTEwNTQsMjAuMDQ0NTQyNSAzMi41NDIxMDQ5LDE5LjQzNTg0OTkgTDMyLjU0MjEwNDksMTkuNDM1ODQ5OSBaIE0zMy4yNTAyNjgzLDIyLjM0OTM3ODYgQzMyLjc1MDQ0NzIsMjIuODQ4MTI2NyAzMi4wOTMzNjc3LDIzLjA5ODAwMDUgMzEuNDM2Mjg4MiwyMy4wOTgwMDA1IEMzMC43ODAyMTAzLDIzLjA5ODAwMDUgMzAuMTIzMTMwOSwyMi44NDgxMjY3IDI5LjYyMzMwOTcsMjIuMzQ5Mzc4NiBDMjguNjIzNjY3NSwyMS4zNTA4ODI4IDI4LjYyMzY2NzUsMTkuNzI3NzAyNSAyOS42MjMzMDk3LDE4LjcyOTIwNjggQzMwLjYyMjk1MiwxNy43MzE3MTA1IDMyLjI1MDYyNiwxNy43MzE3MTA1IDMzLjI1MDI2ODMsMTguNzI5MjA2OCBDMzQuMjQ5OTEwNiwxOS43Mjc3MDI1IDM0LjI0OTkxMDYsMjEuMzUwODgyOCAzMy4yNTAyNjgzLDIyLjM0OTM3ODYgTDMzLjI1MDI2ODMsMjIuMzQ5Mzc4NiBaIE05LjY2ODUyNjg3LDE5LjQ0Njg0NDMgQzkuMzYzMDI0OTcsMTkuMTQyOTk3OCA4Ljk2MzM2ODM5LDE4Ljk5MTA3NDUgOC41NjI3MTAxNywxOC45OTEwNzQ1IEM4LjE2MzA1MzU5LDE4Ljk5MTA3NDUgNy43NjMzOTcwMSwxOS4xNDI5OTc4IDcuNDU3ODk1MTEsMTkuNDQ2ODQ0MyBDNi44NDg4OTQ2MSwyMC4wNTU1MzcgNi44NDg4OTQ2MSwyMS4wNDUwMzczIDcuNDU3ODk1MTEsMjEuNjUyNzMwNCBDOC4wNjc4OTcyNiwyMi4yNjE0MjMgOS4wNTg1MjQ3MiwyMi4yNjE0MjMgOS42Njg1MjY4NywyMS42NTI3MzA0IEMxMC4yNzc1Mjc0LDIxLjA0NTAzNzMgMTAuMjc3NTI3NCwyMC4wNTU1MzcgOS42Njg1MjY4NywxOS40NDY4NDQzIEw5LjY2ODUyNjg3LDE5LjQ0Njg0NDMgWiBNMTAuMzc2NjkwMywyMi4zNTkzNzM1IEM5Ljg3Njg2OTE0LDIyLjg1ODEyMTcgOS4yMTk3ODk2NSwyMy4xMDc5OTU1IDguNTYyNzEwMTcsMjMuMTA3OTk1NSBDNy45MDY2MzIzMiwyMy4xMDc5OTU1IDcuMjQ5NTUyODQsMjIuODU4MTIxNyA2Ljc0OTczMTcsMjIuMzU5MzczNSBDNS43NTAwODk0MywyMS4zNjE4NzczIDUuNzUwMDg5NDMsMTkuNzM4Njk3IDYuNzQ5NzMxNywxOC43NDAyMDEyIEM3Ljc0OTM3Mzk3LDE3Ljc0MjcwNDkgOS4zNzcwNDgwMSwxNy43NDI3MDQ5IDEwLjM3NjY5MDMsMTguNzQwMjAxMiBDMTEuMzc2MzMyNSwxOS43Mzg2OTcgMTEuMzc2MzMyNSwyMS4zNjE4NzczIDEwLjM3NjY5MDMsMjIuMzU5MzczNSBMMTAuMzc2NjkwMywyMi4zNTkzNzM1IFogTTI3LjQzMzcxMjUsMjguOTEwMDY1NCBDMjUuNDM2NDMxMywzMC45MDMwNTkgMjIuNzgyMDcwNSwzMi4wMDA1MDQ3IDE5Ljk1NzQzMDEsMzIuMDAwNTA0NyBDMTcuMTMyNzg5NiwzMi4wMDA1MDQ3IDE0LjQ3ODQyODgsMzAuOTAzMDU5IDEyLjQ4MjE0OTIsMjguOTEwMDY1NCBDMTEuMTY1OTg3LDI3LjU5NzcyODEgMTAuNDA3NzQxMywyNi40NjkyOTggOS45NDQ5ODEwNCwyNS4xMzU5NzEzIEw4Ljk5ODQyNTk5LDI1LjQ2MjgwNjMgQzkuNTA3MjYxOTMsMjYuOTI5MDY1OCAxMC4zNjI2NjcyLDI4LjIxMDQxODcgMTEuNzczOTg1OCwyOS42MTY3MDg2IEMxMy45NTg1NzQ4LDMxLjc5ODYwNjcgMTYuODY2MzUxOSwzMyAxOS45NTc0MzAxLDMzIEMyMy4wNDk1MDk5LDMzIDI1Ljk1NjI4NTMsMzEuNzk4NjA2NyAyOC4xNDE4NzU5LDI5LjYxNjcwODYgQzI5LjI4Mjc1MDIsMjguNDc4MjgzNSAzMC40MjA2MTk2LDI3LjE4NjkzNTYgMzEuMDExNTkwNSwyNS40NjA4MDczIEwzMC4wNjQwMzM4LDI1LjEzNzk3MDMgQzI5LjUzOTE3MTUsMjYuNjcwMTk2NiAyOC40ODk0NDY5LDI3Ljg1NjU5NzQgMjcuNDMzNzEyNSwyOC45MTAwNjU0IEwyNy40MzM3MTI1LDI4LjkxMDA2NTQgWiBNOS45NDQ5ODEwNCwxNS44NTk2NTU5IEw4Ljk5ODQyNTk5LDE1LjUzMTgyMTQgQzkuNTEwMjY2ODcsMTQuMDY0NTYyNCAxMC4zNjU2NzIyLDEyLjc4MzIwOTUgMTEuNzc1OTg5MSwxMS4zNzU5MjAyIEMxNi4yODYzOTkxLDYuODc1MTkzMDQgMjMuNjI2NDU3OCw2Ljg3NDE5MzU0IDI4LjEzNzg2OTQsMTEuMzc1OTIwMiBDMjkuMjE4NjQ0OSwxMi40NTMzNzYxIDMwLjQwMzU5MTYsMTMuNzg5NzAxMiAzMS4wMTE1OTA1LDE1LjUzMTgyMTQgTDMwLjA2NDAzMzgsMTUuODU5NjU1OSBDMjkuNTI0MTQ2OCwxNC4zMDk0Mzg3IDI4LjQyOTM0ODIsMTMuMDgwMDU5NiAyNy40Mjk3MDU5LDEyLjA4MjU2MzMgQzI1LjQzNDQyOCwxMC4wOTE1Njg4IDIyLjc4MTA2ODksOC45OTYxMjE5NyAxOS45NTc0MzAxLDguOTk2MTIxOTcgQzE3LjEzMzc5MTIsOC45OTYxMjE5NyAxNC40ODA0MzIxLDEwLjA5MTU2ODggMTIuNDg1MTU0MiwxMi4wODI1NjMzIEMxMS4xODcwMjE1LDEzLjM3NzkwOTIgMTAuNDAzNzM0NywxNC41NDIzMjExIDkuOTQ0OTgxMDQsMTUuODU5NjU1OSBMOS45NDQ5ODEwNCwxNS44NTk2NTU5IFonCiAgICAgICAgICAgICAgaWQ9J0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV9JY29uXzMyX1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-outbound-connector-hybrid.json b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-outbound-connector-hybrid.json new file mode 100644 index 0000000000..d65f60e4ac --- /dev/null +++ b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-outbound-connector-hybrid.json @@ -0,0 +1,289 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Amazon SQS Outbound Connector", + "id" : "io.camunda.connectors.AWSSQS.v1-hybrid", + "description" : "Send message to queue", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=outbound", + "version" : 10, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:Task" ], + "elementType" : { + "value" : "bpmn:ServiceTask" + }, + "groups" : [ { + "id" : "taskDefinitionType", + "label" : "Task definition type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Queue properties" + }, { + "id" : "input", + "label" : "Input message data" + }, { + "id" : "output", + "label" : "Output mapping" + }, { + "id" : "error", + "label" : "Error handling" + }, { + "id" : "retries", + "label" : "Retries" + } ], + "properties" : [ { + "id" : "taskDefinitionType", + "value" : "io.camunda:aws-sqs:1", + "group" : "taskDefinitionType", + "binding" : { + "property" : "type", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "queue.url", + "label" : "URL", + "description" : "Specify the URL of the SQS queue where you would like to send message to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "configuration", + "binding" : { + "name" : "queue.url", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "queue.type", + "label" : "Queue type", + "description" : "Specify whether the queue is a standard or FIFO queue", + "optional" : false, + "value" : "standard", + "constraints" : { + "notEmpty" : true + }, + "group" : "configuration", + "binding" : { + "name" : "queue.type", + "type" : "zeebe:input" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Standard", + "value" : "standard" + }, { + "name" : "FIFO", + "value" : "fifo" + } ] + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "optional", + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:input" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:input" + }, + "type" : "Hidden" + }, { + "id" : "queue.messageBody", + "label" : "Message body", + "description" : "Data to send to the SQS queue", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "queue.messageBody", + "type" : "zeebe:input" + }, + "type" : "Text" + }, { + "id" : "queue.messageAttributes", + "label" : "Message attributes", + "description" : "Message attributes metadata", + "optional" : true, + "feel" : "required", + "group" : "input", + "binding" : { + "name" : "queue.messageAttributes", + "type" : "zeebe:input" + }, + "type" : "Text" + }, { + "id" : "queue.messageGroupId", + "label" : "Message group ID", + "description" : "Message group ID (FIFO only). See also using the MessageGroupId Property in the Amazon SQS developer guide", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.messageGroupId", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "queue.type", + "equals" : "fifo", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "queue.messageDeduplicationId", + "label" : "Message deduplication ID", + "description" : "Message deduplication ID (FIFO only). See also using the MessageDeduplicationId Property in the Amazon SQS developer guide", + "optional" : true, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.messageDeduplicationId", + "type" : "zeebe:input" + }, + "condition" : { + "property" : "queue.type", + "equals" : "fifo", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "key" : "resultVariable", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "key" : "resultExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "errorExpression", + "label" : "Error expression", + "description" : "Expression to handle errors. Details in the documentation.", + "feel" : "required", + "group" : "error", + "binding" : { + "key" : "errorExpression", + "type" : "zeebe:taskHeader" + }, + "type" : "Text" + }, { + "id" : "retryCount", + "label" : "Retries", + "description" : "Number of retries", + "value" : "3", + "feel" : "optional", + "group" : "retries", + "binding" : { + "property" : "retries", + "type" : "zeebe:taskDefinition" + }, + "type" : "String" + }, { + "id" : "retryBackoff", + "label" : "Retry backoff", + "description" : "ISO-8601 duration to wait between retries", + "value" : "PT0S", + "feel" : "optional", + "group" : "retries", + "binding" : { + "key" : "retryBackoff", + "type" : "zeebe:taskHeader" + }, + "type" : "String" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA0MCA0MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0nMCUnIHkxPScxMDAlJyB4Mj0nMTAwJScgeTI9JzAlJyBpZD0nbGluZWFyR3JhZGllbnQtMSc+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNCMDA4NEQnIG9mZnNldD0nMCUnPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0nI0ZGNEY4Qicgb2Zmc2V0PScxMDAlJz48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMicgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnCiAgICAgICBmaWxsLXJ1bGU9J2V2ZW5vZGQnPgogICAgICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS1CRy8zMi9BcHBsaWNhdGlvbi1JbnRlZ3JhdGlvbicgZmlsbD0ndXJsKCNsaW5lYXJHcmFkaWVudC0xKSc+CiAgICAgICAgICAgIDxyZWN0IGlkPSdSZWN0YW5nbGUnIHg9JzAnIHk9JzAnIHdpZHRoPSc0MCcgaGVpZ2h0PSc0MCc+PC9yZWN0PgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBkPSdNMTQuMzQyMjA1MSwyMi4zNDkzNzg2IEwxNS44NDY2NzY3LDIwLjkwNjEwNzQgQzE1Ljk0MjgzNDcsMjAuODE0MTUzOSAxNS45OTY5MjM1LDIwLjY4NzIxOCAxNS45OTk5Mjg1LDIwLjU1NTI4NDYgQzE2LjAwMTkzMTcsMjAuNDIyMzUxNyAxNS45NTE4NDk1LDIwLjI5MzQxNjggMTUuODU5Njk4MSwyMC4xOTg0NjQ4IEwxNC4zNTUyMjY0LDE4LjY0MzI1MDIgTDEzLjYzNTA0MzMsMTkuMzM3ODk5NCBMMTQuMzExMTU0LDIwLjAzNzU0NiBMMTEuOTkxMzQyOSwyMC4wMzc1NDYgTDExLjk5MTM0MjksMjEuMDM3MDQxMyBMMTQuMjY1MDc4MywyMS4wMzcwNDEzIEwxMy42NDgwNjQ3LDIxLjYyODc0MjUgTDE0LjM0MjIwNTEsMjIuMzQ5Mzc4NiBaIE0yNi4zNTc5NDUyLDIyLjM1MzM3NjUgTDI3LjkwNzQ5MDksMjAuOTAwMTEwNCBDMjguMDA2NjUzOCwyMC44MDgxNTY5IDI4LjA2Mjc0NTksMjAuNjc5MjIyIDI4LjA2NDc0OTIsMjAuNTQ0MjkwMSBDMjguMDY2NzUyNSwyMC40MDkzNTgzIDI4LjAxMzY2NTMsMjAuMjc4NDI0NCAyNy45MTg1MDksMjAuMTgzNDcyNCBMMjYuMzY4OTYzMywxOC42MzcyNTMyIEwyNS42NjA3OTk5LDE5LjM0Mzg5NjMgTDI2LjM1NDk0MDMsMjAuMDM3NTQ2IEwyNC4wMTEwODk2LDIwLjAzNzU0NiBMMjQuMDExMDg5NiwyMS4wMzcwNDEzIEwyNi4yOTg4NDgxLDIxLjAzNzA0MTMgTDI1LjY3MTgxOCwyMS42MjQ3NDQ1IEwyNi4zNTc5NDUyLDIyLjM1MzM3NjUgWiBNMTcuNTg3NTM2NywyMy4zNjA4Njc4IEMxOC4zMzg3NzA4LDIzLjA1NzAyMTIgMTkuMTYyMTIzNSwyMi44OTQxMDM1IDIwLjAwNDUwNzQsMjIuODk0MTAzNSBDMjAuODQ2ODkxMywyMi44OTQxMDM1IDIxLjY3MDI0NCwyMy4wNTcwMjEyIDIyLjQyMTQ3ODEsMjMuMzYwODY3OCBDMjEuNzUyMzc4OSwyMS41ODk3NjIyIDIxLjc1MjM3ODksMTkuMzg5ODczMSAyMi40MjE0NzgxLDE3LjYxODc2NzUgQzIwLjkxOTAwOTgsMTguMjI2NDYwNiAxOS4wOTAwMDUsMTguMjI2NDYwNiAxNy41ODc1MzY3LDE3LjYxODc2NzUgQzE4LjI1NjYzNTksMTkuMzg5ODczMSAxOC4yNTY2MzU5LDIxLjU4OTc2MjIgMTcuNTg3NTM2NywyMy4zNjA4Njc4IEwxNy41ODc1MzY3LDIzLjM2MDg2NzggWiBNMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IEMxNS41NDYxODMsMjUuMjQzOTE2OCAxNS40OTcxMDI0LDI1LjExNTk4MTQgMTUuNDk3MTAyNCwyNC45ODgwNDYgQzE1LjQ5NzEwMjQsMjQuODYwMTEwNiAxNS41NDYxODMsMjQuNzMyMTc1MyAxNS42NDQzNDQzLDI0LjYzNDIyNDcgQzE3LjU4NDUzMTcsMjIuNjk4MjAyNCAxNy41ODQ1MzE3LDE4LjI4MjQzMjQgMTUuNjQ0MzQ0MywxNi4zNDU0MTA2IEMxNS41NDYxODMsMTYuMjQ4NDU5NSAxNS40OTcxMDI0LDE2LjEyMDUyNDEgMTUuNDk3MTAyNCwxNS45OTI1OTEyIEMxNS40OTcxMDI0LDE1Ljg2NDY1MzQgMTUuNTQ2MTgzLDE1LjczNjcxOCAxNS42NDQzNDQzLDE1LjYzODc2NzQgQzE1LjgzOTY2NTIsMTUuNDQzODY1OSAxNi4xNTcxODY4LDE1LjQ0Mzg2NTkgMTYuMzUyNTA3NywxNS42Mzg3Njc0IEMxNy4yNzQwMjE2LDE2LjU1ODMwMzEgMTguNjA1MjA4NiwxNy4wODYwMzY2IDIwLjAwNDUwNzQsMTcuMDg2MDM2NiBDMjEuNDA0ODA3OSwxNy4wODYwMzY2IDIyLjczNTk5NDgsMTYuNTU4MzAzMSAyMy42NTc1MDg4LDE1LjYzODc2NzQgQzIzLjg1MjgyOTYsMTUuNDQzODY1OSAyNC4xNzAzNTEzLDE1LjQ0Mzg2NTkgMjQuMzY1NjcyMiwxNS42Mzg3Njc0IEMyNC40NjI4MzE4LDE1LjczNjcxOCAyNC41MTE5MTI0LDE1Ljg2NDY1MzQgMjQuNTExOTEyNCwxNS45OTI1OTEyIEMyNC41MTE5MTI0LDE2LjEyMDUyNDEgMjQuNDYyODMxOCwxNi4yNDg0NTk1IDI0LjM2NTY3MjIsMTYuMzQ1NDEwNiBDMjIuNDI0NDgzMSwxOC4yODI0MzI0IDIyLjQyNDQ4MzEsMjIuNjk4MjAyNCAyNC4zNjU2NzIyLDI0LjYzNDIyNDcgQzI0LjQ2MjgzMTgsMjQuNzMyMTc1MyAyNC41MTE5MTI0LDI0Ljg2MDExMDYgMjQuNTExOTEyNCwyNC45ODgwNDYgQzI0LjUxMTkxMjQsMjUuMTE1OTgxNCAyNC40NjI4MzE4LDI1LjI0MzkxNjggMjQuMzY1NjcyMiwyNS4zNDA4Njc5IEMyNC4yNjc1MTA5LDI1LjQzODgxODQgMjQuMTM5MzAwMywyNS40ODc3OTM3IDI0LjAxMTA4OTYsMjUuNDg3NzkzNyBDMjMuODgyODc5LDI1LjQ4Nzc5MzcgMjMuNzU0NjY4NCwyNS40Mzg4MTg0IDIzLjY1NzUwODgsMjUuMzQwODY3OSBDMjIuNzM1OTk0OCwyNC40MjEzMzIyIDIxLjQwNDgwNzksMjMuODkzNTk4NyAyMC4wMDQ1MDc0LDIzLjg5MzU5ODcgQzE4LjYwNTIwODYsMjMuODkzNTk4NyAxNy4yNzQwMjE2LDI0LjQyMTMzMjIgMTYuMzUyNTA3NywyNS4zNDA4Njc5IEMxNi4xNTcxODY4LDI1LjUzNTc2OTQgMTUuODM5NjY1MiwyNS41MzU3Njk0IDE1LjY0NDM0NDMsMjUuMzQwODY3OSBMMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IFogTTMyLjU0MjEwNDksMTkuNDM1ODQ5OSBDMzIuMjM2NjAzLDE5LjEzMjAwMzMgMzEuODM2OTQ2NCwxOC45ODAwODAxIDMxLjQzNjI4ODIsMTguOTgwMDgwMSBDMzEuMDM2NjMxNiwxOC45ODAwODAxIDMwLjYzNjk3NSwxOS4xMzIwMDMzIDMwLjMzMTQ3MzEsMTkuNDM1ODQ5OSBDMjkuNzIxNDcxLDIwLjA0NDU0MjUgMjkuNzIxNDcxLDIxLjAzNDA0MjggMzAuMzMxNDczMSwyMS42NDE3MzU5IEMzMC45NDE0NzUzLDIyLjI1MDQyODUgMzEuOTMyMTAyNywyMi4yNTA0Mjg1IDMyLjU0MjEwNDksMjEuNjQxNzM1OSBDMzMuMTUxMTA1NCwyMS4wMzQwNDI4IDMzLjE1MTEwNTQsMjAuMDQ0NTQyNSAzMi41NDIxMDQ5LDE5LjQzNTg0OTkgTDMyLjU0MjEwNDksMTkuNDM1ODQ5OSBaIE0zMy4yNTAyNjgzLDIyLjM0OTM3ODYgQzMyLjc1MDQ0NzIsMjIuODQ4MTI2NyAzMi4wOTMzNjc3LDIzLjA5ODAwMDUgMzEuNDM2Mjg4MiwyMy4wOTgwMDA1IEMzMC43ODAyMTAzLDIzLjA5ODAwMDUgMzAuMTIzMTMwOSwyMi44NDgxMjY3IDI5LjYyMzMwOTcsMjIuMzQ5Mzc4NiBDMjguNjIzNjY3NSwyMS4zNTA4ODI4IDI4LjYyMzY2NzUsMTkuNzI3NzAyNSAyOS42MjMzMDk3LDE4LjcyOTIwNjggQzMwLjYyMjk1MiwxNy43MzE3MTA1IDMyLjI1MDYyNiwxNy43MzE3MTA1IDMzLjI1MDI2ODMsMTguNzI5MjA2OCBDMzQuMjQ5OTEwNiwxOS43Mjc3MDI1IDM0LjI0OTkxMDYsMjEuMzUwODgyOCAzMy4yNTAyNjgzLDIyLjM0OTM3ODYgTDMzLjI1MDI2ODMsMjIuMzQ5Mzc4NiBaIE05LjY2ODUyNjg3LDE5LjQ0Njg0NDMgQzkuMzYzMDI0OTcsMTkuMTQyOTk3OCA4Ljk2MzM2ODM5LDE4Ljk5MTA3NDUgOC41NjI3MTAxNywxOC45OTEwNzQ1IEM4LjE2MzA1MzU5LDE4Ljk5MTA3NDUgNy43NjMzOTcwMSwxOS4xNDI5OTc4IDcuNDU3ODk1MTEsMTkuNDQ2ODQ0MyBDNi44NDg4OTQ2MSwyMC4wNTU1MzcgNi44NDg4OTQ2MSwyMS4wNDUwMzczIDcuNDU3ODk1MTEsMjEuNjUyNzMwNCBDOC4wNjc4OTcyNiwyMi4yNjE0MjMgOS4wNTg1MjQ3MiwyMi4yNjE0MjMgOS42Njg1MjY4NywyMS42NTI3MzA0IEMxMC4yNzc1Mjc0LDIxLjA0NTAzNzMgMTAuMjc3NTI3NCwyMC4wNTU1MzcgOS42Njg1MjY4NywxOS40NDY4NDQzIEw5LjY2ODUyNjg3LDE5LjQ0Njg0NDMgWiBNMTAuMzc2NjkwMywyMi4zNTkzNzM1IEM5Ljg3Njg2OTE0LDIyLjg1ODEyMTcgOS4yMTk3ODk2NSwyMy4xMDc5OTU1IDguNTYyNzEwMTcsMjMuMTA3OTk1NSBDNy45MDY2MzIzMiwyMy4xMDc5OTU1IDcuMjQ5NTUyODQsMjIuODU4MTIxNyA2Ljc0OTczMTcsMjIuMzU5MzczNSBDNS43NTAwODk0MywyMS4zNjE4NzczIDUuNzUwMDg5NDMsMTkuNzM4Njk3IDYuNzQ5NzMxNywxOC43NDAyMDEyIEM3Ljc0OTM3Mzk3LDE3Ljc0MjcwNDkgOS4zNzcwNDgwMSwxNy43NDI3MDQ5IDEwLjM3NjY5MDMsMTguNzQwMjAxMiBDMTEuMzc2MzMyNSwxOS43Mzg2OTcgMTEuMzc2MzMyNSwyMS4zNjE4NzczIDEwLjM3NjY5MDMsMjIuMzU5MzczNSBMMTAuMzc2NjkwMywyMi4zNTkzNzM1IFogTTI3LjQzMzcxMjUsMjguOTEwMDY1NCBDMjUuNDM2NDMxMywzMC45MDMwNTkgMjIuNzgyMDcwNSwzMi4wMDA1MDQ3IDE5Ljk1NzQzMDEsMzIuMDAwNTA0NyBDMTcuMTMyNzg5NiwzMi4wMDA1MDQ3IDE0LjQ3ODQyODgsMzAuOTAzMDU5IDEyLjQ4MjE0OTIsMjguOTEwMDY1NCBDMTEuMTY1OTg3LDI3LjU5NzcyODEgMTAuNDA3NzQxMywyNi40NjkyOTggOS45NDQ5ODEwNCwyNS4xMzU5NzEzIEw4Ljk5ODQyNTk5LDI1LjQ2MjgwNjMgQzkuNTA3MjYxOTMsMjYuOTI5MDY1OCAxMC4zNjI2NjcyLDI4LjIxMDQxODcgMTEuNzczOTg1OCwyOS42MTY3MDg2IEMxMy45NTg1NzQ4LDMxLjc5ODYwNjcgMTYuODY2MzUxOSwzMyAxOS45NTc0MzAxLDMzIEMyMy4wNDk1MDk5LDMzIDI1Ljk1NjI4NTMsMzEuNzk4NjA2NyAyOC4xNDE4NzU5LDI5LjYxNjcwODYgQzI5LjI4Mjc1MDIsMjguNDc4MjgzNSAzMC40MjA2MTk2LDI3LjE4NjkzNTYgMzEuMDExNTkwNSwyNS40NjA4MDczIEwzMC4wNjQwMzM4LDI1LjEzNzk3MDMgQzI5LjUzOTE3MTUsMjYuNjcwMTk2NiAyOC40ODk0NDY5LDI3Ljg1NjU5NzQgMjcuNDMzNzEyNSwyOC45MTAwNjU0IEwyNy40MzM3MTI1LDI4LjkxMDA2NTQgWiBNOS45NDQ5ODEwNCwxNS44NTk2NTU5IEw4Ljk5ODQyNTk5LDE1LjUzMTgyMTQgQzkuNTEwMjY2ODcsMTQuMDY0NTYyNCAxMC4zNjU2NzIyLDEyLjc4MzIwOTUgMTEuNzc1OTg5MSwxMS4zNzU5MjAyIEMxNi4yODYzOTkxLDYuODc1MTkzMDQgMjMuNjI2NDU3OCw2Ljg3NDE5MzU0IDI4LjEzNzg2OTQsMTEuMzc1OTIwMiBDMjkuMjE4NjQ0OSwxMi40NTMzNzYxIDMwLjQwMzU5MTYsMTMuNzg5NzAxMiAzMS4wMTE1OTA1LDE1LjUzMTgyMTQgTDMwLjA2NDAzMzgsMTUuODU5NjU1OSBDMjkuNTI0MTQ2OCwxNC4zMDk0Mzg3IDI4LjQyOTM0ODIsMTMuMDgwMDU5NiAyNy40Mjk3MDU5LDEyLjA4MjU2MzMgQzI1LjQzNDQyOCwxMC4wOTE1Njg4IDIyLjc4MTA2ODksOC45OTYxMjE5NyAxOS45NTc0MzAxLDguOTk2MTIxOTcgQzE3LjEzMzc5MTIsOC45OTYxMjE5NyAxNC40ODA0MzIxLDEwLjA5MTU2ODggMTIuNDg1MTU0MiwxMi4wODI1NjMzIEMxMS4xODcwMjE1LDEzLjM3NzkwOTIgMTAuNDAzNzM0NywxNC41NDIzMjExIDkuOTQ0OTgxMDQsMTUuODU5NjU1OSBMOS45NDQ5ODEwNCwxNS44NTk2NTU5IFonCiAgICAgICAgICAgICAgaWQ9J0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV9JY29uXzMyX1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-start-event-connector-hybrid.json b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-start-event-connector-hybrid.json new file mode 100644 index 0000000000..02f671f975 --- /dev/null +++ b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-start-event-connector-hybrid.json @@ -0,0 +1,224 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Amazon SQS Start Event Connector", + "id" : "io.camunda.connectors.AWSSQS.StartEvent.v1-hybrid", + "description" : "Receive message from a queue", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", + "version" : 9, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Configuration" + }, { + "id" : "queueProperties", + "label" : "Queue properties" + }, { + "id" : "messagePollingProperties", + "label" : "Message polling properties" + }, { + "id" : "input", + "label" : "Use next attribute names for activation condition" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:aws-sqs-inbound:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:property" + }, + "type" : "Hidden" + }, { + "id" : "queue.queue.url", + "label" : "Queue URL", + "description" : "Specify the URL of the SQS queue where you would like to subscribe to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "queueProperties", + "binding" : { + "name" : "queue.url", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.pollingWaitTime", + "label" : "Polling wait time", + "description" : "The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. See documentation for details", + "optional" : false, + "value" : "20", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^([0-9]?|1[0-9]|20|secrets\\..+)$" + } + }, + "group" : "messagePollingProperties", + "binding" : { + "name" : "queue.pollingWaitTime", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.attributeNames", + "label" : "Attribute names", + "description" : "Array of queue attribute names. See documentation for details", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.attributeNames", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.messageAttributeNames", + "label" : "Message attribute names", + "description" : "Array of message attribute names. See documentation for details", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.messageAttributeNames", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA0MCA0MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0nMCUnIHkxPScxMDAlJyB4Mj0nMTAwJScgeTI9JzAlJyBpZD0nbGluZWFyR3JhZGllbnQtMSc+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNCMDA4NEQnIG9mZnNldD0nMCUnPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0nI0ZGNEY4Qicgb2Zmc2V0PScxMDAlJz48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMicgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnCiAgICAgICBmaWxsLXJ1bGU9J2V2ZW5vZGQnPgogICAgICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS1CRy8zMi9BcHBsaWNhdGlvbi1JbnRlZ3JhdGlvbicgZmlsbD0ndXJsKCNsaW5lYXJHcmFkaWVudC0xKSc+CiAgICAgICAgICAgIDxyZWN0IGlkPSdSZWN0YW5nbGUnIHg9JzAnIHk9JzAnIHdpZHRoPSc0MCcgaGVpZ2h0PSc0MCc+PC9yZWN0PgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBkPSdNMTQuMzQyMjA1MSwyMi4zNDkzNzg2IEwxNS44NDY2NzY3LDIwLjkwNjEwNzQgQzE1Ljk0MjgzNDcsMjAuODE0MTUzOSAxNS45OTY5MjM1LDIwLjY4NzIxOCAxNS45OTk5Mjg1LDIwLjU1NTI4NDYgQzE2LjAwMTkzMTcsMjAuNDIyMzUxNyAxNS45NTE4NDk1LDIwLjI5MzQxNjggMTUuODU5Njk4MSwyMC4xOTg0NjQ4IEwxNC4zNTUyMjY0LDE4LjY0MzI1MDIgTDEzLjYzNTA0MzMsMTkuMzM3ODk5NCBMMTQuMzExMTU0LDIwLjAzNzU0NiBMMTEuOTkxMzQyOSwyMC4wMzc1NDYgTDExLjk5MTM0MjksMjEuMDM3MDQxMyBMMTQuMjY1MDc4MywyMS4wMzcwNDEzIEwxMy42NDgwNjQ3LDIxLjYyODc0MjUgTDE0LjM0MjIwNTEsMjIuMzQ5Mzc4NiBaIE0yNi4zNTc5NDUyLDIyLjM1MzM3NjUgTDI3LjkwNzQ5MDksMjAuOTAwMTEwNCBDMjguMDA2NjUzOCwyMC44MDgxNTY5IDI4LjA2Mjc0NTksMjAuNjc5MjIyIDI4LjA2NDc0OTIsMjAuNTQ0MjkwMSBDMjguMDY2NzUyNSwyMC40MDkzNTgzIDI4LjAxMzY2NTMsMjAuMjc4NDI0NCAyNy45MTg1MDksMjAuMTgzNDcyNCBMMjYuMzY4OTYzMywxOC42MzcyNTMyIEwyNS42NjA3OTk5LDE5LjM0Mzg5NjMgTDI2LjM1NDk0MDMsMjAuMDM3NTQ2IEwyNC4wMTEwODk2LDIwLjAzNzU0NiBMMjQuMDExMDg5NiwyMS4wMzcwNDEzIEwyNi4yOTg4NDgxLDIxLjAzNzA0MTMgTDI1LjY3MTgxOCwyMS42MjQ3NDQ1IEwyNi4zNTc5NDUyLDIyLjM1MzM3NjUgWiBNMTcuNTg3NTM2NywyMy4zNjA4Njc4IEMxOC4zMzg3NzA4LDIzLjA1NzAyMTIgMTkuMTYyMTIzNSwyMi44OTQxMDM1IDIwLjAwNDUwNzQsMjIuODk0MTAzNSBDMjAuODQ2ODkxMywyMi44OTQxMDM1IDIxLjY3MDI0NCwyMy4wNTcwMjEyIDIyLjQyMTQ3ODEsMjMuMzYwODY3OCBDMjEuNzUyMzc4OSwyMS41ODk3NjIyIDIxLjc1MjM3ODksMTkuMzg5ODczMSAyMi40MjE0NzgxLDE3LjYxODc2NzUgQzIwLjkxOTAwOTgsMTguMjI2NDYwNiAxOS4wOTAwMDUsMTguMjI2NDYwNiAxNy41ODc1MzY3LDE3LjYxODc2NzUgQzE4LjI1NjYzNTksMTkuMzg5ODczMSAxOC4yNTY2MzU5LDIxLjU4OTc2MjIgMTcuNTg3NTM2NywyMy4zNjA4Njc4IEwxNy41ODc1MzY3LDIzLjM2MDg2NzggWiBNMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IEMxNS41NDYxODMsMjUuMjQzOTE2OCAxNS40OTcxMDI0LDI1LjExNTk4MTQgMTUuNDk3MTAyNCwyNC45ODgwNDYgQzE1LjQ5NzEwMjQsMjQuODYwMTEwNiAxNS41NDYxODMsMjQuNzMyMTc1MyAxNS42NDQzNDQzLDI0LjYzNDIyNDcgQzE3LjU4NDUzMTcsMjIuNjk4MjAyNCAxNy41ODQ1MzE3LDE4LjI4MjQzMjQgMTUuNjQ0MzQ0MywxNi4zNDU0MTA2IEMxNS41NDYxODMsMTYuMjQ4NDU5NSAxNS40OTcxMDI0LDE2LjEyMDUyNDEgMTUuNDk3MTAyNCwxNS45OTI1OTEyIEMxNS40OTcxMDI0LDE1Ljg2NDY1MzQgMTUuNTQ2MTgzLDE1LjczNjcxOCAxNS42NDQzNDQzLDE1LjYzODc2NzQgQzE1LjgzOTY2NTIsMTUuNDQzODY1OSAxNi4xNTcxODY4LDE1LjQ0Mzg2NTkgMTYuMzUyNTA3NywxNS42Mzg3Njc0IEMxNy4yNzQwMjE2LDE2LjU1ODMwMzEgMTguNjA1MjA4NiwxNy4wODYwMzY2IDIwLjAwNDUwNzQsMTcuMDg2MDM2NiBDMjEuNDA0ODA3OSwxNy4wODYwMzY2IDIyLjczNTk5NDgsMTYuNTU4MzAzMSAyMy42NTc1MDg4LDE1LjYzODc2NzQgQzIzLjg1MjgyOTYsMTUuNDQzODY1OSAyNC4xNzAzNTEzLDE1LjQ0Mzg2NTkgMjQuMzY1NjcyMiwxNS42Mzg3Njc0IEMyNC40NjI4MzE4LDE1LjczNjcxOCAyNC41MTE5MTI0LDE1Ljg2NDY1MzQgMjQuNTExOTEyNCwxNS45OTI1OTEyIEMyNC41MTE5MTI0LDE2LjEyMDUyNDEgMjQuNDYyODMxOCwxNi4yNDg0NTk1IDI0LjM2NTY3MjIsMTYuMzQ1NDEwNiBDMjIuNDI0NDgzMSwxOC4yODI0MzI0IDIyLjQyNDQ4MzEsMjIuNjk4MjAyNCAyNC4zNjU2NzIyLDI0LjYzNDIyNDcgQzI0LjQ2MjgzMTgsMjQuNzMyMTc1MyAyNC41MTE5MTI0LDI0Ljg2MDExMDYgMjQuNTExOTEyNCwyNC45ODgwNDYgQzI0LjUxMTkxMjQsMjUuMTE1OTgxNCAyNC40NjI4MzE4LDI1LjI0MzkxNjggMjQuMzY1NjcyMiwyNS4zNDA4Njc5IEMyNC4yNjc1MTA5LDI1LjQzODgxODQgMjQuMTM5MzAwMywyNS40ODc3OTM3IDI0LjAxMTA4OTYsMjUuNDg3NzkzNyBDMjMuODgyODc5LDI1LjQ4Nzc5MzcgMjMuNzU0NjY4NCwyNS40Mzg4MTg0IDIzLjY1NzUwODgsMjUuMzQwODY3OSBDMjIuNzM1OTk0OCwyNC40MjEzMzIyIDIxLjQwNDgwNzksMjMuODkzNTk4NyAyMC4wMDQ1MDc0LDIzLjg5MzU5ODcgQzE4LjYwNTIwODYsMjMuODkzNTk4NyAxNy4yNzQwMjE2LDI0LjQyMTMzMjIgMTYuMzUyNTA3NywyNS4zNDA4Njc5IEMxNi4xNTcxODY4LDI1LjUzNTc2OTQgMTUuODM5NjY1MiwyNS41MzU3Njk0IDE1LjY0NDM0NDMsMjUuMzQwODY3OSBMMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IFogTTMyLjU0MjEwNDksMTkuNDM1ODQ5OSBDMzIuMjM2NjAzLDE5LjEzMjAwMzMgMzEuODM2OTQ2NCwxOC45ODAwODAxIDMxLjQzNjI4ODIsMTguOTgwMDgwMSBDMzEuMDM2NjMxNiwxOC45ODAwODAxIDMwLjYzNjk3NSwxOS4xMzIwMDMzIDMwLjMzMTQ3MzEsMTkuNDM1ODQ5OSBDMjkuNzIxNDcxLDIwLjA0NDU0MjUgMjkuNzIxNDcxLDIxLjAzNDA0MjggMzAuMzMxNDczMSwyMS42NDE3MzU5IEMzMC45NDE0NzUzLDIyLjI1MDQyODUgMzEuOTMyMTAyNywyMi4yNTA0Mjg1IDMyLjU0MjEwNDksMjEuNjQxNzM1OSBDMzMuMTUxMTA1NCwyMS4wMzQwNDI4IDMzLjE1MTEwNTQsMjAuMDQ0NTQyNSAzMi41NDIxMDQ5LDE5LjQzNTg0OTkgTDMyLjU0MjEwNDksMTkuNDM1ODQ5OSBaIE0zMy4yNTAyNjgzLDIyLjM0OTM3ODYgQzMyLjc1MDQ0NzIsMjIuODQ4MTI2NyAzMi4wOTMzNjc3LDIzLjA5ODAwMDUgMzEuNDM2Mjg4MiwyMy4wOTgwMDA1IEMzMC43ODAyMTAzLDIzLjA5ODAwMDUgMzAuMTIzMTMwOSwyMi44NDgxMjY3IDI5LjYyMzMwOTcsMjIuMzQ5Mzc4NiBDMjguNjIzNjY3NSwyMS4zNTA4ODI4IDI4LjYyMzY2NzUsMTkuNzI3NzAyNSAyOS42MjMzMDk3LDE4LjcyOTIwNjggQzMwLjYyMjk1MiwxNy43MzE3MTA1IDMyLjI1MDYyNiwxNy43MzE3MTA1IDMzLjI1MDI2ODMsMTguNzI5MjA2OCBDMzQuMjQ5OTEwNiwxOS43Mjc3MDI1IDM0LjI0OTkxMDYsMjEuMzUwODgyOCAzMy4yNTAyNjgzLDIyLjM0OTM3ODYgTDMzLjI1MDI2ODMsMjIuMzQ5Mzc4NiBaIE05LjY2ODUyNjg3LDE5LjQ0Njg0NDMgQzkuMzYzMDI0OTcsMTkuMTQyOTk3OCA4Ljk2MzM2ODM5LDE4Ljk5MTA3NDUgOC41NjI3MTAxNywxOC45OTEwNzQ1IEM4LjE2MzA1MzU5LDE4Ljk5MTA3NDUgNy43NjMzOTcwMSwxOS4xNDI5OTc4IDcuNDU3ODk1MTEsMTkuNDQ2ODQ0MyBDNi44NDg4OTQ2MSwyMC4wNTU1MzcgNi44NDg4OTQ2MSwyMS4wNDUwMzczIDcuNDU3ODk1MTEsMjEuNjUyNzMwNCBDOC4wNjc4OTcyNiwyMi4yNjE0MjMgOS4wNTg1MjQ3MiwyMi4yNjE0MjMgOS42Njg1MjY4NywyMS42NTI3MzA0IEMxMC4yNzc1Mjc0LDIxLjA0NTAzNzMgMTAuMjc3NTI3NCwyMC4wNTU1MzcgOS42Njg1MjY4NywxOS40NDY4NDQzIEw5LjY2ODUyNjg3LDE5LjQ0Njg0NDMgWiBNMTAuMzc2NjkwMywyMi4zNTkzNzM1IEM5Ljg3Njg2OTE0LDIyLjg1ODEyMTcgOS4yMTk3ODk2NSwyMy4xMDc5OTU1IDguNTYyNzEwMTcsMjMuMTA3OTk1NSBDNy45MDY2MzIzMiwyMy4xMDc5OTU1IDcuMjQ5NTUyODQsMjIuODU4MTIxNyA2Ljc0OTczMTcsMjIuMzU5MzczNSBDNS43NTAwODk0MywyMS4zNjE4NzczIDUuNzUwMDg5NDMsMTkuNzM4Njk3IDYuNzQ5NzMxNywxOC43NDAyMDEyIEM3Ljc0OTM3Mzk3LDE3Ljc0MjcwNDkgOS4zNzcwNDgwMSwxNy43NDI3MDQ5IDEwLjM3NjY5MDMsMTguNzQwMjAxMiBDMTEuMzc2MzMyNSwxOS43Mzg2OTcgMTEuMzc2MzMyNSwyMS4zNjE4NzczIDEwLjM3NjY5MDMsMjIuMzU5MzczNSBMMTAuMzc2NjkwMywyMi4zNTkzNzM1IFogTTI3LjQzMzcxMjUsMjguOTEwMDY1NCBDMjUuNDM2NDMxMywzMC45MDMwNTkgMjIuNzgyMDcwNSwzMi4wMDA1MDQ3IDE5Ljk1NzQzMDEsMzIuMDAwNTA0NyBDMTcuMTMyNzg5NiwzMi4wMDA1MDQ3IDE0LjQ3ODQyODgsMzAuOTAzMDU5IDEyLjQ4MjE0OTIsMjguOTEwMDY1NCBDMTEuMTY1OTg3LDI3LjU5NzcyODEgMTAuNDA3NzQxMywyNi40NjkyOTggOS45NDQ5ODEwNCwyNS4xMzU5NzEzIEw4Ljk5ODQyNTk5LDI1LjQ2MjgwNjMgQzkuNTA3MjYxOTMsMjYuOTI5MDY1OCAxMC4zNjI2NjcyLDI4LjIxMDQxODcgMTEuNzczOTg1OCwyOS42MTY3MDg2IEMxMy45NTg1NzQ4LDMxLjc5ODYwNjcgMTYuODY2MzUxOSwzMyAxOS45NTc0MzAxLDMzIEMyMy4wNDk1MDk5LDMzIDI1Ljk1NjI4NTMsMzEuNzk4NjA2NyAyOC4xNDE4NzU5LDI5LjYxNjcwODYgQzI5LjI4Mjc1MDIsMjguNDc4MjgzNSAzMC40MjA2MTk2LDI3LjE4NjkzNTYgMzEuMDExNTkwNSwyNS40NjA4MDczIEwzMC4wNjQwMzM4LDI1LjEzNzk3MDMgQzI5LjUzOTE3MTUsMjYuNjcwMTk2NiAyOC40ODk0NDY5LDI3Ljg1NjU5NzQgMjcuNDMzNzEyNSwyOC45MTAwNjU0IEwyNy40MzM3MTI1LDI4LjkxMDA2NTQgWiBNOS45NDQ5ODEwNCwxNS44NTk2NTU5IEw4Ljk5ODQyNTk5LDE1LjUzMTgyMTQgQzkuNTEwMjY2ODcsMTQuMDY0NTYyNCAxMC4zNjU2NzIyLDEyLjc4MzIwOTUgMTEuNzc1OTg5MSwxMS4zNzU5MjAyIEMxNi4yODYzOTkxLDYuODc1MTkzMDQgMjMuNjI2NDU3OCw2Ljg3NDE5MzU0IDI4LjEzNzg2OTQsMTEuMzc1OTIwMiBDMjkuMjE4NjQ0OSwxMi40NTMzNzYxIDMwLjQwMzU5MTYsMTMuNzg5NzAxMiAzMS4wMTE1OTA1LDE1LjUzMTgyMTQgTDMwLjA2NDAzMzgsMTUuODU5NjU1OSBDMjkuNTI0MTQ2OCwxNC4zMDk0Mzg3IDI4LjQyOTM0ODIsMTMuMDgwMDU5NiAyNy40Mjk3MDU5LDEyLjA4MjU2MzMgQzI1LjQzNDQyOCwxMC4wOTE1Njg4IDIyLjc4MTA2ODksOC45OTYxMjE5NyAxOS45NTc0MzAxLDguOTk2MTIxOTcgQzE3LjEzMzc5MTIsOC45OTYxMjE5NyAxNC40ODA0MzIxLDEwLjA5MTU2ODggMTIuNDg1MTU0MiwxMi4wODI1NjMzIEMxMS4xODcwMjE1LDEzLjM3NzkwOTIgMTAuNDAzNzM0NywxNC41NDIzMjExIDkuOTQ0OTgxMDQsMTUuODU5NjU1OSBMOS45NDQ5ODEwNCwxNS44NTk2NTU5IFonCiAgICAgICAgICAgICAgaWQ9J0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV9JY29uXzMyX1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-start-message-hybrid.json b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-start-message-hybrid.json new file mode 100644 index 0000000000..e4181334cb --- /dev/null +++ b/connectors/aws/aws-sqs/element-templates/hybrid/aws-sqs-start-message-hybrid.json @@ -0,0 +1,307 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Amazon SQS Message Start Event Connector", + "id" : "io.camunda.connectors.AWSSQS.startmessage.v1-hybrid", + "description" : "Receive message from a queue", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", + "version" : 9, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "configuration", + "label" : "Configuration" + }, { + "id" : "queueProperties", + "label" : "Queue properties" + }, { + "id" : "messagePollingProperties", + "label" : "Message polling properties" + }, { + "id" : "input", + "label" : "Use next attribute names for activation condition" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:aws-sqs-inbound:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "authentication.type", + "label" : "Authentication", + "description" : "Specify AWS authentication strategy. Learn more at the documentation page", + "value" : "credentials", + "group" : "authentication", + "binding" : { + "name" : "authentication.type", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Default Credentials Chain (Hybrid/Self-Managed only)", + "value" : "defaultCredentialsChain" + }, { + "name" : "Credentials", + "value" : "credentials" + } ] + }, { + "id" : "authentication.accessKey", + "label" : "Access key", + "description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.secretKey", + "label" : "Secret key", + "description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "configuration.endpoint", + "label" : "Endpoint", + "description" : "Specify endpoint if need to use custom endpoint", + "optional" : true, + "group" : "configuration", + "binding" : { + "name" : "configuration.endpoint", + "type" : "zeebe:property" + }, + "type" : "Hidden" + }, { + "id" : "queue.queue.url", + "label" : "Queue URL", + "description" : "Specify the URL of the SQS queue where you would like to subscribe to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "queueProperties", + "binding" : { + "name" : "queue.url", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.pollingWaitTime", + "label" : "Polling wait time", + "description" : "The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. See documentation for details", + "optional" : false, + "value" : "20", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^([0-9]?|1[0-9]|20|secrets\\..+)$" + } + }, + "group" : "messagePollingProperties", + "binding" : { + "name" : "queue.pollingWaitTime", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.attributeNames", + "label" : "Attribute names", + "description" : "Array of queue attribute names. See documentation for details", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.attributeNames", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "queue.queue.messageAttributeNames", + "label" : "Message attribute names", + "description" : "Array of message attribute names. See documentation for details", + "optional" : false, + "feel" : "optional", + "group" : "input", + "binding" : { + "name" : "queue.messageAttributeNames", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationRequired", + "label" : "Subprocess correlation required", + "description" : "Indicates whether correlation is required. This is needed for event-based subprocess message start events", + "value" : "notRequired", + "group" : "correlation", + "binding" : { + "name" : "correlationRequired", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Correlation not required", + "value" : "notRequired" + }, { + "name" : "Correlation required", + "value" : "required" + } ] + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "condition" : { + "property" : "correlationRequired", + "equals" : "required", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "correlationRequired", + "equals" : "required", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA0MCA0MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMjwvdGl0bGU+CiAgICA8ZGVzYz5DcmVhdGVkIHdpdGggU2tldGNoLjwvZGVzYz4KICAgIDxkZWZzPgogICAgICAgIDxsaW5lYXJHcmFkaWVudCB4MT0nMCUnIHkxPScxMDAlJyB4Mj0nMTAwJScgeTI9JzAlJyBpZD0nbGluZWFyR3JhZGllbnQtMSc+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNCMDA4NEQnIG9mZnNldD0nMCUnPjwvc3RvcD4KICAgICAgICAgICAgPHN0b3Agc3RvcC1jb2xvcj0nI0ZGNEY4Qicgb2Zmc2V0PScxMDAlJz48L3N0b3A+CiAgICAgICAgPC9saW5lYXJHcmFkaWVudD4KICAgIDwvZGVmcz4KICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS8zMi9BcmNoX0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV8zMicgc3Ryb2tlPSdub25lJyBzdHJva2Utd2lkdGg9JzEnIGZpbGw9J25vbmUnCiAgICAgICBmaWxsLXJ1bGU9J2V2ZW5vZGQnPgogICAgICAgIDxnIGlkPSdJY29uLUFyY2hpdGVjdHVyZS1CRy8zMi9BcHBsaWNhdGlvbi1JbnRlZ3JhdGlvbicgZmlsbD0ndXJsKCNsaW5lYXJHcmFkaWVudC0xKSc+CiAgICAgICAgICAgIDxyZWN0IGlkPSdSZWN0YW5nbGUnIHg9JzAnIHk9JzAnIHdpZHRoPSc0MCcgaGVpZ2h0PSc0MCc+PC9yZWN0PgogICAgICAgIDwvZz4KICAgICAgICA8cGF0aCBkPSdNMTQuMzQyMjA1MSwyMi4zNDkzNzg2IEwxNS44NDY2NzY3LDIwLjkwNjEwNzQgQzE1Ljk0MjgzNDcsMjAuODE0MTUzOSAxNS45OTY5MjM1LDIwLjY4NzIxOCAxNS45OTk5Mjg1LDIwLjU1NTI4NDYgQzE2LjAwMTkzMTcsMjAuNDIyMzUxNyAxNS45NTE4NDk1LDIwLjI5MzQxNjggMTUuODU5Njk4MSwyMC4xOTg0NjQ4IEwxNC4zNTUyMjY0LDE4LjY0MzI1MDIgTDEzLjYzNTA0MzMsMTkuMzM3ODk5NCBMMTQuMzExMTU0LDIwLjAzNzU0NiBMMTEuOTkxMzQyOSwyMC4wMzc1NDYgTDExLjk5MTM0MjksMjEuMDM3MDQxMyBMMTQuMjY1MDc4MywyMS4wMzcwNDEzIEwxMy42NDgwNjQ3LDIxLjYyODc0MjUgTDE0LjM0MjIwNTEsMjIuMzQ5Mzc4NiBaIE0yNi4zNTc5NDUyLDIyLjM1MzM3NjUgTDI3LjkwNzQ5MDksMjAuOTAwMTEwNCBDMjguMDA2NjUzOCwyMC44MDgxNTY5IDI4LjA2Mjc0NTksMjAuNjc5MjIyIDI4LjA2NDc0OTIsMjAuNTQ0MjkwMSBDMjguMDY2NzUyNSwyMC40MDkzNTgzIDI4LjAxMzY2NTMsMjAuMjc4NDI0NCAyNy45MTg1MDksMjAuMTgzNDcyNCBMMjYuMzY4OTYzMywxOC42MzcyNTMyIEwyNS42NjA3OTk5LDE5LjM0Mzg5NjMgTDI2LjM1NDk0MDMsMjAuMDM3NTQ2IEwyNC4wMTEwODk2LDIwLjAzNzU0NiBMMjQuMDExMDg5NiwyMS4wMzcwNDEzIEwyNi4yOTg4NDgxLDIxLjAzNzA0MTMgTDI1LjY3MTgxOCwyMS42MjQ3NDQ1IEwyNi4zNTc5NDUyLDIyLjM1MzM3NjUgWiBNMTcuNTg3NTM2NywyMy4zNjA4Njc4IEMxOC4zMzg3NzA4LDIzLjA1NzAyMTIgMTkuMTYyMTIzNSwyMi44OTQxMDM1IDIwLjAwNDUwNzQsMjIuODk0MTAzNSBDMjAuODQ2ODkxMywyMi44OTQxMDM1IDIxLjY3MDI0NCwyMy4wNTcwMjEyIDIyLjQyMTQ3ODEsMjMuMzYwODY3OCBDMjEuNzUyMzc4OSwyMS41ODk3NjIyIDIxLjc1MjM3ODksMTkuMzg5ODczMSAyMi40MjE0NzgxLDE3LjYxODc2NzUgQzIwLjkxOTAwOTgsMTguMjI2NDYwNiAxOS4wOTAwMDUsMTguMjI2NDYwNiAxNy41ODc1MzY3LDE3LjYxODc2NzUgQzE4LjI1NjYzNTksMTkuMzg5ODczMSAxOC4yNTY2MzU5LDIxLjU4OTc2MjIgMTcuNTg3NTM2NywyMy4zNjA4Njc4IEwxNy41ODc1MzY3LDIzLjM2MDg2NzggWiBNMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IEMxNS41NDYxODMsMjUuMjQzOTE2OCAxNS40OTcxMDI0LDI1LjExNTk4MTQgMTUuNDk3MTAyNCwyNC45ODgwNDYgQzE1LjQ5NzEwMjQsMjQuODYwMTEwNiAxNS41NDYxODMsMjQuNzMyMTc1MyAxNS42NDQzNDQzLDI0LjYzNDIyNDcgQzE3LjU4NDUzMTcsMjIuNjk4MjAyNCAxNy41ODQ1MzE3LDE4LjI4MjQzMjQgMTUuNjQ0MzQ0MywxNi4zNDU0MTA2IEMxNS41NDYxODMsMTYuMjQ4NDU5NSAxNS40OTcxMDI0LDE2LjEyMDUyNDEgMTUuNDk3MTAyNCwxNS45OTI1OTEyIEMxNS40OTcxMDI0LDE1Ljg2NDY1MzQgMTUuNTQ2MTgzLDE1LjczNjcxOCAxNS42NDQzNDQzLDE1LjYzODc2NzQgQzE1LjgzOTY2NTIsMTUuNDQzODY1OSAxNi4xNTcxODY4LDE1LjQ0Mzg2NTkgMTYuMzUyNTA3NywxNS42Mzg3Njc0IEMxNy4yNzQwMjE2LDE2LjU1ODMwMzEgMTguNjA1MjA4NiwxNy4wODYwMzY2IDIwLjAwNDUwNzQsMTcuMDg2MDM2NiBDMjEuNDA0ODA3OSwxNy4wODYwMzY2IDIyLjczNTk5NDgsMTYuNTU4MzAzMSAyMy42NTc1MDg4LDE1LjYzODc2NzQgQzIzLjg1MjgyOTYsMTUuNDQzODY1OSAyNC4xNzAzNTEzLDE1LjQ0Mzg2NTkgMjQuMzY1NjcyMiwxNS42Mzg3Njc0IEMyNC40NjI4MzE4LDE1LjczNjcxOCAyNC41MTE5MTI0LDE1Ljg2NDY1MzQgMjQuNTExOTEyNCwxNS45OTI1OTEyIEMyNC41MTE5MTI0LDE2LjEyMDUyNDEgMjQuNDYyODMxOCwxNi4yNDg0NTk1IDI0LjM2NTY3MjIsMTYuMzQ1NDEwNiBDMjIuNDI0NDgzMSwxOC4yODI0MzI0IDIyLjQyNDQ4MzEsMjIuNjk4MjAyNCAyNC4zNjU2NzIyLDI0LjYzNDIyNDcgQzI0LjQ2MjgzMTgsMjQuNzMyMTc1MyAyNC41MTE5MTI0LDI0Ljg2MDExMDYgMjQuNTExOTEyNCwyNC45ODgwNDYgQzI0LjUxMTkxMjQsMjUuMTE1OTgxNCAyNC40NjI4MzE4LDI1LjI0MzkxNjggMjQuMzY1NjcyMiwyNS4zNDA4Njc5IEMyNC4yNjc1MTA5LDI1LjQzODgxODQgMjQuMTM5MzAwMywyNS40ODc3OTM3IDI0LjAxMTA4OTYsMjUuNDg3NzkzNyBDMjMuODgyODc5LDI1LjQ4Nzc5MzcgMjMuNzU0NjY4NCwyNS40Mzg4MTg0IDIzLjY1NzUwODgsMjUuMzQwODY3OSBDMjIuNzM1OTk0OCwyNC40MjEzMzIyIDIxLjQwNDgwNzksMjMuODkzNTk4NyAyMC4wMDQ1MDc0LDIzLjg5MzU5ODcgQzE4LjYwNTIwODYsMjMuODkzNTk4NyAxNy4yNzQwMjE2LDI0LjQyMTMzMjIgMTYuMzUyNTA3NywyNS4zNDA4Njc5IEMxNi4xNTcxODY4LDI1LjUzNTc2OTQgMTUuODM5NjY1MiwyNS41MzU3Njk0IDE1LjY0NDM0NDMsMjUuMzQwODY3OSBMMTUuNjQ0MzQ0MywyNS4zNDA4Njc5IFogTTMyLjU0MjEwNDksMTkuNDM1ODQ5OSBDMzIuMjM2NjAzLDE5LjEzMjAwMzMgMzEuODM2OTQ2NCwxOC45ODAwODAxIDMxLjQzNjI4ODIsMTguOTgwMDgwMSBDMzEuMDM2NjMxNiwxOC45ODAwODAxIDMwLjYzNjk3NSwxOS4xMzIwMDMzIDMwLjMzMTQ3MzEsMTkuNDM1ODQ5OSBDMjkuNzIxNDcxLDIwLjA0NDU0MjUgMjkuNzIxNDcxLDIxLjAzNDA0MjggMzAuMzMxNDczMSwyMS42NDE3MzU5IEMzMC45NDE0NzUzLDIyLjI1MDQyODUgMzEuOTMyMTAyNywyMi4yNTA0Mjg1IDMyLjU0MjEwNDksMjEuNjQxNzM1OSBDMzMuMTUxMTA1NCwyMS4wMzQwNDI4IDMzLjE1MTEwNTQsMjAuMDQ0NTQyNSAzMi41NDIxMDQ5LDE5LjQzNTg0OTkgTDMyLjU0MjEwNDksMTkuNDM1ODQ5OSBaIE0zMy4yNTAyNjgzLDIyLjM0OTM3ODYgQzMyLjc1MDQ0NzIsMjIuODQ4MTI2NyAzMi4wOTMzNjc3LDIzLjA5ODAwMDUgMzEuNDM2Mjg4MiwyMy4wOTgwMDA1IEMzMC43ODAyMTAzLDIzLjA5ODAwMDUgMzAuMTIzMTMwOSwyMi44NDgxMjY3IDI5LjYyMzMwOTcsMjIuMzQ5Mzc4NiBDMjguNjIzNjY3NSwyMS4zNTA4ODI4IDI4LjYyMzY2NzUsMTkuNzI3NzAyNSAyOS42MjMzMDk3LDE4LjcyOTIwNjggQzMwLjYyMjk1MiwxNy43MzE3MTA1IDMyLjI1MDYyNiwxNy43MzE3MTA1IDMzLjI1MDI2ODMsMTguNzI5MjA2OCBDMzQuMjQ5OTEwNiwxOS43Mjc3MDI1IDM0LjI0OTkxMDYsMjEuMzUwODgyOCAzMy4yNTAyNjgzLDIyLjM0OTM3ODYgTDMzLjI1MDI2ODMsMjIuMzQ5Mzc4NiBaIE05LjY2ODUyNjg3LDE5LjQ0Njg0NDMgQzkuMzYzMDI0OTcsMTkuMTQyOTk3OCA4Ljk2MzM2ODM5LDE4Ljk5MTA3NDUgOC41NjI3MTAxNywxOC45OTEwNzQ1IEM4LjE2MzA1MzU5LDE4Ljk5MTA3NDUgNy43NjMzOTcwMSwxOS4xNDI5OTc4IDcuNDU3ODk1MTEsMTkuNDQ2ODQ0MyBDNi44NDg4OTQ2MSwyMC4wNTU1MzcgNi44NDg4OTQ2MSwyMS4wNDUwMzczIDcuNDU3ODk1MTEsMjEuNjUyNzMwNCBDOC4wNjc4OTcyNiwyMi4yNjE0MjMgOS4wNTg1MjQ3MiwyMi4yNjE0MjMgOS42Njg1MjY4NywyMS42NTI3MzA0IEMxMC4yNzc1Mjc0LDIxLjA0NTAzNzMgMTAuMjc3NTI3NCwyMC4wNTU1MzcgOS42Njg1MjY4NywxOS40NDY4NDQzIEw5LjY2ODUyNjg3LDE5LjQ0Njg0NDMgWiBNMTAuMzc2NjkwMywyMi4zNTkzNzM1IEM5Ljg3Njg2OTE0LDIyLjg1ODEyMTcgOS4yMTk3ODk2NSwyMy4xMDc5OTU1IDguNTYyNzEwMTcsMjMuMTA3OTk1NSBDNy45MDY2MzIzMiwyMy4xMDc5OTU1IDcuMjQ5NTUyODQsMjIuODU4MTIxNyA2Ljc0OTczMTcsMjIuMzU5MzczNSBDNS43NTAwODk0MywyMS4zNjE4NzczIDUuNzUwMDg5NDMsMTkuNzM4Njk3IDYuNzQ5NzMxNywxOC43NDAyMDEyIEM3Ljc0OTM3Mzk3LDE3Ljc0MjcwNDkgOS4zNzcwNDgwMSwxNy43NDI3MDQ5IDEwLjM3NjY5MDMsMTguNzQwMjAxMiBDMTEuMzc2MzMyNSwxOS43Mzg2OTcgMTEuMzc2MzMyNSwyMS4zNjE4NzczIDEwLjM3NjY5MDMsMjIuMzU5MzczNSBMMTAuMzc2NjkwMywyMi4zNTkzNzM1IFogTTI3LjQzMzcxMjUsMjguOTEwMDY1NCBDMjUuNDM2NDMxMywzMC45MDMwNTkgMjIuNzgyMDcwNSwzMi4wMDA1MDQ3IDE5Ljk1NzQzMDEsMzIuMDAwNTA0NyBDMTcuMTMyNzg5NiwzMi4wMDA1MDQ3IDE0LjQ3ODQyODgsMzAuOTAzMDU5IDEyLjQ4MjE0OTIsMjguOTEwMDY1NCBDMTEuMTY1OTg3LDI3LjU5NzcyODEgMTAuNDA3NzQxMywyNi40NjkyOTggOS45NDQ5ODEwNCwyNS4xMzU5NzEzIEw4Ljk5ODQyNTk5LDI1LjQ2MjgwNjMgQzkuNTA3MjYxOTMsMjYuOTI5MDY1OCAxMC4zNjI2NjcyLDI4LjIxMDQxODcgMTEuNzczOTg1OCwyOS42MTY3MDg2IEMxMy45NTg1NzQ4LDMxLjc5ODYwNjcgMTYuODY2MzUxOSwzMyAxOS45NTc0MzAxLDMzIEMyMy4wNDk1MDk5LDMzIDI1Ljk1NjI4NTMsMzEuNzk4NjA2NyAyOC4xNDE4NzU5LDI5LjYxNjcwODYgQzI5LjI4Mjc1MDIsMjguNDc4MjgzNSAzMC40MjA2MTk2LDI3LjE4NjkzNTYgMzEuMDExNTkwNSwyNS40NjA4MDczIEwzMC4wNjQwMzM4LDI1LjEzNzk3MDMgQzI5LjUzOTE3MTUsMjYuNjcwMTk2NiAyOC40ODk0NDY5LDI3Ljg1NjU5NzQgMjcuNDMzNzEyNSwyOC45MTAwNjU0IEwyNy40MzM3MTI1LDI4LjkxMDA2NTQgWiBNOS45NDQ5ODEwNCwxNS44NTk2NTU5IEw4Ljk5ODQyNTk5LDE1LjUzMTgyMTQgQzkuNTEwMjY2ODcsMTQuMDY0NTYyNCAxMC4zNjU2NzIyLDEyLjc4MzIwOTUgMTEuNzc1OTg5MSwxMS4zNzU5MjAyIEMxNi4yODYzOTkxLDYuODc1MTkzMDQgMjMuNjI2NDU3OCw2Ljg3NDE5MzU0IDI4LjEzNzg2OTQsMTEuMzc1OTIwMiBDMjkuMjE4NjQ0OSwxMi40NTMzNzYxIDMwLjQwMzU5MTYsMTMuNzg5NzAxMiAzMS4wMTE1OTA1LDE1LjUzMTgyMTQgTDMwLjA2NDAzMzgsMTUuODU5NjU1OSBDMjkuNTI0MTQ2OCwxNC4zMDk0Mzg3IDI4LjQyOTM0ODIsMTMuMDgwMDU5NiAyNy40Mjk3MDU5LDEyLjA4MjU2MzMgQzI1LjQzNDQyOCwxMC4wOTE1Njg4IDIyLjc4MTA2ODksOC45OTYxMjE5NyAxOS45NTc0MzAxLDguOTk2MTIxOTcgQzE3LjEzMzc5MTIsOC45OTYxMjE5NyAxNC40ODA0MzIxLDEwLjA5MTU2ODggMTIuNDg1MTU0MiwxMi4wODI1NjMzIEMxMS4xODcwMjE1LDEzLjM3NzkwOTIgMTAuNDAzNzM0NywxNC41NDIzMjExIDkuOTQ0OTgxMDQsMTUuODU5NjU1OSBMOS45NDQ5ODEwNCwxNS44NTk2NTU5IFonCiAgICAgICAgICAgICAgaWQ9J0FXUy1TaW1wbGUtUXVldWUtU2VydmljZV9JY29uXzMyX1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/aws/aws-sqs/pom.xml b/connectors/aws/aws-sqs/pom.xml index a4170297d2..0ba4cd8bbc 100644 --- a/connectors/aws/aws-sqs/pom.xml +++ b/connectors/aws/aws-sqs/pom.xml @@ -54,6 +54,7 @@ aws-sqs-outbound-connector.json + true io.camunda.connector.inbound.SqsExecutable diff --git a/connectors/google/google-drive/element-templates/hybrid/google-drive-outbound-connector-hybrid.json b/connectors/google/google-drive/element-templates/hybrid/google-drive-outbound-connector-hybrid.json index 498f1d32ca..87ed5e93a7 100644 --- a/connectors/google/google-drive/element-templates/hybrid/google-drive-outbound-connector-hybrid.json +++ b/connectors/google/google-drive/element-templates/hybrid/google-drive-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Google Drive Outbound Connector", - "id" : "io.camunda.connectors.GoogleDrive.v1", + "name" : "Hybrid Google Drive Outbound Connector", + "id" : "io.camunda.connectors.GoogleDrive.v1-hybrid", "description" : "Create folder or a file from template", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/googledrive/", "version" : 3, diff --git a/connectors/google/google-sheets/element-templates/hybrid/google-sheets-outbound-connector-hybrid.json b/connectors/google/google-sheets/element-templates/hybrid/google-sheets-outbound-connector-hybrid.json index 85576443f7..805f3fe0d8 100644 --- a/connectors/google/google-sheets/element-templates/hybrid/google-sheets-outbound-connector-hybrid.json +++ b/connectors/google/google-sheets/element-templates/hybrid/google-sheets-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Google Sheets Outbound Connector", - "id" : "io.camunda.connectors.GoogleSheets.v1", + "name" : "Hybrid Google Sheets Outbound Connector", + "id" : "io.camunda.connectors.GoogleSheets.v1-hybrid", "description" : "Work with spreadsheets", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/google-sheets/", "version" : 3, diff --git a/connectors/http/graphql/element-templates/graphql-outbound-connector-hybrid.json b/connectors/http/graphql/element-templates/hybrid/graphql-outbound-connector-hybrid.json similarity index 97% rename from connectors/http/graphql/element-templates/graphql-outbound-connector-hybrid.json rename to connectors/http/graphql/element-templates/hybrid/graphql-outbound-connector-hybrid.json index 9185f86d62..cec97f4251 100644 --- a/connectors/http/graphql/element-templates/graphql-outbound-connector-hybrid.json +++ b/connectors/http/graphql/element-templates/hybrid/graphql-outbound-connector-hybrid.json @@ -1,10 +1,10 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "GraphQL Outbound Connector", - "id" : "io.camunda.connectors.GraphQL.v1", + "name" : "Hybrid GraphQL Outbound Connector", + "id" : "io.camunda.connectors.GraphQL.v1-hybrid", "description" : "Execute GraphQL query", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/protocol/graphql/", - "version" : 5, + "version" : 6, "category" : { "id" : "connectors", "name" : "Connectors" @@ -198,11 +198,15 @@ "type" : "String" }, { "id" : "authentication.oauthTokenEndpoint", - "label" : "Oauth token endpoint", + "label" : "OAuth 2.0 token endpoint", "description" : "The OAuth token endpoint", "optional" : false, "constraints" : { - "notEmpty" : true + "notEmpty" : true, + "pattern" : { + "value" : "^(=|http://|https://|secrets|\\{\\{).*$", + "message" : "Must be a http(s) URL" + } }, "feel" : "optional", "group" : "authentication", @@ -218,7 +222,7 @@ "type" : "String" }, { "id" : "authentication.clientId", - "label" : "Client id", + "label" : "Client ID", "description" : "Your application's client ID from the OAuth client", "optional" : false, "constraints" : { @@ -331,11 +335,11 @@ }, "type" : "Dropdown", "choices" : [ { - "name" : "POST", - "value" : "post" - }, { "name" : "GET", "value" : "get" + }, { + "name" : "POST", + "value" : "post" } ] }, { "id" : "graphql.url", diff --git a/connectors/http/graphql/pom.xml b/connectors/http/graphql/pom.xml index b76b725e43..e8f2c05ac8 100644 --- a/connectors/http/graphql/pom.xml +++ b/connectors/http/graphql/pom.xml @@ -80,6 +80,7 @@ graphql-outbound-connector.json + true diff --git a/connectors/http/polling/element-templates/http-polling-connector-boundary.json b/connectors/http/polling/element-templates/http-polling-connector-boundary.json index 91f8250626..f641f88c65 100644 --- a/connectors/http/polling/element-templates/http-polling-connector-boundary.json +++ b/connectors/http/polling/element-templates/http-polling-connector-boundary.json @@ -1,7 +1,7 @@ { "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", "name": "HTTP Polling Boundary Catch Event Connector", - "id": "io.camunda.connectors.http.Polling", + "id": "io.camunda.connectors.http.Polling.Boundary", "version": 1, "description": "Polls endpoint at regular intervals", "icon": { diff --git a/connectors/http/rest/element-templates/hybrid/http-json-connector-hybrid.json b/connectors/http/rest/element-templates/hybrid/http-json-connector-hybrid.json index 2b56e0470c..75a0b94d3c 100644 --- a/connectors/http/rest/element-templates/hybrid/http-json-connector-hybrid.json +++ b/connectors/http/rest/element-templates/hybrid/http-json-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "REST Outbound Connector", - "id" : "io.camunda.connectors.HttpJson.v2", + "name" : "Hybrid REST Outbound Connector", + "id" : "io.camunda.connectors.HttpJson.v2-hybrid", "description" : "Invoke REST API", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/protocol/rest/", "version" : 7, diff --git a/connectors/jdbc/element-templates/hybrid/jdbc-outbound-connector-hybrid.json b/connectors/jdbc/element-templates/hybrid/jdbc-outbound-connector-hybrid.json index 6afe0e5607..384485c84d 100644 --- a/connectors/jdbc/element-templates/hybrid/jdbc-outbound-connector-hybrid.json +++ b/connectors/jdbc/element-templates/hybrid/jdbc-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "SQL Database Connector", - "id" : "io.camunda.connectors.Jdbc.v1", + "name" : "Hybrid SQL Database Connector", + "id" : "io.camunda.connectors.Jdbc.v1-hybrid", "description" : "Read and write data from a Camunda process directly to a SQL database(Microsoft SQL Server, MySQL, PostgreSQL)", "documentationRef" : "https://docs.camunda.io/docs/next/components/connectors/out-of-the-box-connectors/sql", "version" : 1, diff --git a/connectors/kafka/element-templates/hybrid/kafka-boundary-event-connector-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-boundary-event-connector-hybrid.json deleted file mode 100644 index bed6b8d818..0000000000 --- a/connectors/kafka/element-templates/hybrid/kafka-boundary-event-connector-hybrid.json +++ /dev/null @@ -1,307 +0,0 @@ -{ - "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Kafka Boundary Event Connector", - "id" : "io.camunda.connectors.inbound.KafkaBoundary.v1", - "description" : "Consume Kafka messages", - "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/kafka/?kafka=inbound", - "version" : 5, - "category" : { - "id" : "connectors", - "name" : "Connectors" - }, - "appliesTo" : [ "bpmn:BoundaryEvent" ], - "elementType" : { - "value" : "bpmn:BoundaryEvent", - "eventDefinition" : "bpmn:MessageEventDefinition" - }, - "groups" : [ { - "id" : "connectorType", - "label" : "Connector type" - }, { - "id" : "authentication", - "label" : "Authentication" - }, { - "id" : "kafka", - "label" : "Kafka" - }, { - "id" : "message", - "label" : "Message deserialization" - }, { - "id" : "activation", - "label" : "Activation" - }, { - "id" : "correlation", - "label" : "Correlation" - }, { - "id" : "output", - "label" : "Output mapping" - } ], - "properties" : [ { - "id" : "connectorType", - "value" : "io.camunda:connector-kafka-inbound:1", - "group" : "connectorType", - "binding" : { - "name" : "inbound.type", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "authenticationType", - "label" : "Authentication type", - "description" : "Username/password or custom", - "optional" : false, - "value" : "credentials", - "constraints" : { - "notEmpty" : true - }, - "group" : "authentication", - "binding" : { - "name" : "authenticationType", - "type" : "zeebe:property" - }, - "type" : "Dropdown", - "choices" : [ { - "name" : "Credentials", - "value" : "credentials" - }, { - "name" : "Custom", - "value" : "custom" - } ] - }, { - "id" : "authentication.username", - "label" : "Username", - "description" : "Provide the username (must have permissions to produce message to the topic)", - "optional" : true, - "group" : "authentication", - "binding" : { - "name" : "authentication.username", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "authentication.password", - "label" : "Password", - "description" : "Provide a password for the user", - "optional" : true, - "group" : "authentication", - "binding" : { - "name" : "authentication.password", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "serializationType", - "label" : "Deserialization type", - "description" : "Select the deserialization type. For details, visit the documentation", - "optional" : false, - "value" : "json", - "group" : "kafka", - "binding" : { - "name" : "serializationType", - "type" : "zeebe:property" - }, - "type" : "Dropdown", - "choices" : [ { - "name" : "Default (JSON)", - "value" : "json" - }, { - "name" : "AVRO (experimental)", - "value" : "avro" - } ] - }, { - "id" : "topic.bootstrapServers", - "label" : "Bootstrap servers", - "description" : "Provide bootstrap server(s), comma-delimited if there are multiple", - "optional" : false, - "constraints" : { - "notEmpty" : true - }, - "group" : "kafka", - "binding" : { - "name" : "topic.bootstrapServers", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "topic.topicName", - "label" : "Topic", - "description" : "Provide topic name", - "optional" : false, - "constraints" : { - "notEmpty" : true - }, - "group" : "kafka", - "binding" : { - "name" : "topic.topicName", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "groupId", - "label" : "Consumer Group ID", - "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", - "optional" : false, - "group" : "kafka", - "binding" : { - "name" : "groupId", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "additionalProperties", - "label" : "Additional properties", - "description" : "Provide additional Kafka consumer properties in JSON", - "optional" : true, - "feel" : "required", - "group" : "kafka", - "binding" : { - "name" : "additionalProperties", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "offsets", - "label" : "Offsets", - "description" : "List of offsets, e.g. '10' or '=[10, 23]'. If specified, it has to have the same number of values as the number of partitions", - "optional" : false, - "feel" : "optional", - "group" : "kafka", - "binding" : { - "name" : "offsets", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "autoOffsetReset", - "label" : "Auto offset reset", - "description" : "What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. You should only select none if you specified the offsets", - "optional" : false, - "value" : "latest", - "constraints" : { - "notEmpty" : true - }, - "group" : "kafka", - "binding" : { - "name" : "autoOffsetReset", - "type" : "zeebe:property" - }, - "type" : "Dropdown", - "choices" : [ { - "name" : "None", - "value" : "none" - }, { - "name" : "Latest", - "value" : "latest" - }, { - "name" : "Earliest", - "value" : "earliest" - } ] - }, { - "id" : "avro.schema", - "label" : "Avro schema", - "description" : "Avro schema for the message value", - "optional" : false, - "constraints" : { - "notEmpty" : true - }, - "feel" : "required", - "group" : "message", - "binding" : { - "name" : "avro.schema", - "type" : "zeebe:property" - }, - "condition" : { - "property" : "serializationType", - "equals" : "avro", - "type" : "simple" - }, - "type" : "Text" - }, { - "id" : "activationCondition", - "label" : "Activation condition", - "description" : "Condition under which the Connector triggers. Leave empty to catch all events", - "optional" : true, - "feel" : "required", - "group" : "activation", - "binding" : { - "name" : "activationCondition", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "correlationKeyProcess", - "label" : "Correlation key (process)", - "description" : "Sets up the correlation key from process variables", - "constraints" : { - "notEmpty" : true - }, - "feel" : "required", - "group" : "correlation", - "binding" : { - "name" : "correlationKey", - "type" : "bpmn:Message#zeebe:subscription#property" - }, - "type" : "String" - }, { - "id" : "correlationKeyPayload", - "label" : "Correlation key (payload)", - "description" : "Extracts the correlation key from the incoming message payload", - "constraints" : { - "notEmpty" : true - }, - "feel" : "required", - "group" : "correlation", - "binding" : { - "name" : "correlationKeyExpression", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "messageIdExpression", - "label" : "Message ID expression", - "description" : "Expression to extract unique identifier of a message", - "optional" : true, - "feel" : "required", - "group" : "correlation", - "binding" : { - "name" : "messageIdExpression", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "messageNameUuid", - "generatedValue" : { - "type" : "uuid" - }, - "group" : "correlation", - "binding" : { - "name" : "name", - "type" : "bpmn:Message#property" - }, - "type" : "Hidden" - }, { - "id" : "resultVariable", - "label" : "Result variable", - "description" : "Name of variable to store the response in", - "group" : "output", - "binding" : { - "name" : "resultVariable", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "resultExpression", - "label" : "Result expression", - "description" : "Expression to map the response into process variables", - "feel" : "required", - "group" : "output", - "binding" : { - "name" : "resultExpression", - "type" : "zeebe:property" - }, - "type" : "Text" - } ], - "icon" : { - "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAyNTYgNDE2JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaWRZTWlkJz4KICAgIDxwYXRoIGQ9J00yMDEuODE2IDIzMC4yMTZjLTE2LjE4NiAwLTMwLjY5NyA3LjE3MS00MC42MzQgMTguNDYxbC0yNS40NjMtMTguMDI2YzIuNzAzLTcuNDQyIDQuMjU1LTE1LjQzMyA0LjI1NS0yMy43OTcgMC04LjIxOS0xLjQ5OC0xNi4wNzYtNC4xMTItMjMuNDA4bDI1LjQwNi0xNy44MzVjOS45MzYgMTEuMjMzIDI0LjQwOSAxOC4zNjUgNDAuNTQ4IDE4LjM2NSAyOS44NzUgMCA1NC4xODQtMjQuMzA1IDU0LjE4NC01NC4xODQgMC0yOS44NzktMjQuMzA5LTU0LjE4NC01NC4xODQtNTQuMTg0LTI5Ljg3NSAwLTU0LjE4NCAyNC4zMDUtNTQuMTg0IDU0LjE4NCAwIDUuMzQ4LjgwOCAxMC41MDUgMi4yNTggMTUuMzg5bC0yNS40MjMgMTcuODQ0Yy0xMC42Mi0xMy4xNzUtMjUuOTExLTIyLjM3NC00My4zMzMtMjUuMTgydi0zMC42NGMyNC41NDQtNS4xNTUgNDMuMDM3LTI2Ljk2MiA0My4wMzctNTMuMDE5QzEyNC4xNzEgMjQuMzA1IDk5Ljg2MiAwIDY5Ljk4NyAwIDQwLjExMiAwIDE1LjgwMyAyNC4zMDUgMTUuODAzIDU0LjE4NGMwIDI1LjcwOCAxOC4wMTQgNDcuMjQ2IDQyLjA2NyA1Mi43Njl2MzEuMDM4QzI1LjA0NCAxNDMuNzUzIDAgMTcyLjQwMSAwIDIwNi44NTRjMCAzNC42MjEgMjUuMjkyIDYzLjM3NCA1OC4zNTUgNjguOTR2MzIuNzc0Yy0yNC4yOTkgNS4zNDEtNDIuNTUyIDI3LjAxMS00Mi41NTIgNTIuODk0IDAgMjkuODc5IDI0LjMwOSA1NC4xODQgNTQuMTg0IDU0LjE4NCAyOS44NzUgMCA1NC4xODQtMjQuMzA1IDU0LjE4NC01NC4xODQgMC0yNS44ODMtMTguMjUzLTQ3LjU1My00Mi41NTItNTIuODk0di0zMi43NzVhNjkuOTY1IDY5Ljk2NSAwIDAgMCA0Mi42LTI0Ljc3NmwyNS42MzMgMTguMTQzYy0xLjQyMyA0Ljg0LTIuMjIgOS45NDYtMi4yMiAxNS4yNCAwIDI5Ljg3OSAyNC4zMDkgNTQuMTg0IDU0LjE4NCA1NC4xODQgMjkuODc1IDAgNTQuMTg0LTI0LjMwNSA1NC4xODQtNTQuMTg0IDAtMjkuODc5LTI0LjMwOS01NC4xODQtNTQuMTg0LTU0LjE4NHptMC0xMjYuNjk1YzE0LjQ4NyAwIDI2LjI3IDExLjc4OCAyNi4yNyAyNi4yNzFzLTExLjc4MyAyNi4yNy0yNi4yNyAyNi4yNy0yNi4yNy0xMS43ODctMjYuMjctMjYuMjdjMC0xNC40ODMgMTEuNzgzLTI2LjI3MSAyNi4yNy0yNi4yNzF6bS0xNTguMS00OS4zMzdjMC0xNC40ODMgMTEuNzg0LTI2LjI3IDI2LjI3MS0yNi4yN3MyNi4yNyAxMS43ODcgMjYuMjcgMjYuMjdjMCAxNC40ODMtMTEuNzgzIDI2LjI3LTI2LjI3IDI2LjI3cy0yNi4yNzEtMTEuNzg3LTI2LjI3MS0yNi4yN3ptNTIuNTQxIDMwNy4yNzhjMCAxNC40ODMtMTEuNzgzIDI2LjI3LTI2LjI3IDI2LjI3cy0yNi4yNzEtMTEuNzg3LTI2LjI3MS0yNi4yN2MwLTE0LjQ4MyAxMS43ODQtMjYuMjcgMjYuMjcxLTI2LjI3czI2LjI3IDExLjc4NyAyNi4yNyAyNi4yN3ptLTI2LjI3Mi0xMTcuOTdjLTIwLjIwNSAwLTM2LjY0Mi0xNi40MzQtMzYuNjQyLTM2LjYzOCAwLTIwLjIwNSAxNi40MzctMzYuNjQyIDM2LjY0Mi0zNi42NDIgMjAuMjA0IDAgMzYuNjQxIDE2LjQzNyAzNi42NDEgMzYuNjQyIDAgMjAuMjA0LTE2LjQzNyAzNi42MzgtMzYuNjQxIDM2LjYzOHptMTMxLjgzMSA2Ny4xNzljLTE0LjQ4NyAwLTI2LjI3LTExLjc4OC0yNi4yNy0yNi4yNzFzMTEuNzgzLTI2LjI3IDI2LjI3LTI2LjI3IDI2LjI3IDExLjc4NyAyNi4yNyAyNi4yN2MwIDE0LjQ4My0xMS43ODMgMjYuMjcxLTI2LjI3IDI2LjI3MXonCiAgICAgICAgICBzdHlsZT0nZmlsbDojMjMxZjIwJy8+Cjwvc3ZnPg==" - } -} \ No newline at end of file diff --git a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-boundary-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-boundary-hybrid.json index 066aaa856d..90567e14ca 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-boundary-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-boundary-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Kafka Boundary Event Connector", - "id" : "io.camunda.connectors.inbound.KafkaBoundary.v1", + "name" : "Hybrid Kafka Boundary Event Connector", + "id" : "io.camunda.connectors.inbound.KafkaBoundary.v1-hybrid", "description" : "Consume Kafka messages", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/kafka/?kafka=inbound", "version" : 5, @@ -142,7 +142,7 @@ "type" : "String" }, { "id" : "groupId", - "label" : "Consumer Group ID", + "label" : "Consumer group ID", "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", "optional" : false, "group" : "kafka", diff --git a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-intermediate-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-intermediate-hybrid.json index 98cb917f45..6d891efe82 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-intermediate-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-intermediate-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Kafka Intermediate Catch Event Connector", - "id" : "io.camunda.connectors.inbound.KafkaIntermediate.v1", + "name" : "Hybrid Kafka Intermediate Catch Event Connector", + "id" : "io.camunda.connectors.inbound.KafkaIntermediate.v1-hybrid", "description" : "Consume Kafka messages", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/kafka/?kafka=inbound", "version" : 5, @@ -142,7 +142,7 @@ "type" : "String" }, { "id" : "groupId", - "label" : "Consumer Group ID", + "label" : "Consumer group ID", "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", "optional" : false, "group" : "kafka", diff --git a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-event-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-event-hybrid.json index 5e05261dbf..3999e54a49 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-event-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-event-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Kafka Start Event Connector", - "id" : "io.camunda.connectors.inbound.KAFKA.v1", + "name" : "Hybrid Kafka Start Event Connector", + "id" : "io.camunda.connectors.inbound.KAFKA.v1-hybrid", "description" : "Consume Kafka messages", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/kafka/?kafka=inbound", "version" : 5, @@ -138,7 +138,7 @@ "type" : "String" }, { "id" : "groupId", - "label" : "Consumer Group ID", + "label" : "Consumer group ID", "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", "optional" : false, "group" : "kafka", diff --git a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-message-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-message-hybrid.json index 596a838d04..0eb16cccf1 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-message-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-inbound-connector-start-message-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Kafka Message Start Event Connector", - "id" : "io.camunda.connectors.inbound.KafkaMessageStart.v1", + "name" : "Hybrid Kafka Message Start Event Connector", + "id" : "io.camunda.connectors.inbound.KafkaMessageStart.v1-hybrid", "description" : "Consume Kafka messages", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/kafka/?kafka=inbound", "version" : 5, @@ -142,7 +142,7 @@ "type" : "String" }, { "id" : "groupId", - "label" : "Consumer Group ID", + "label" : "Consumer group ID", "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", "optional" : false, "group" : "kafka", diff --git a/connectors/kafka/element-templates/hybrid/kafka-outbound-connector-hybrid.json b/connectors/kafka/element-templates/hybrid/kafka-outbound-connector-hybrid.json index 31bf603df5..d838d11edc 100644 --- a/connectors/kafka/element-templates/hybrid/kafka-outbound-connector-hybrid.json +++ b/connectors/kafka/element-templates/hybrid/kafka-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Kafka Outbound Connector", - "id" : "io.camunda.connectors.KAFKA.v1", + "name" : "Hybrid Kafka Outbound Connector", + "id" : "io.camunda.connectors.KAFKA.v1-hybrid", "description" : "Produce Kafka message", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/kafka/?kafka=outbound", "version" : 4, diff --git a/connectors/kafka/element-templates/kafka-boundary-event-connector.json b/connectors/kafka/element-templates/kafka-boundary-event-connector.json deleted file mode 100644 index a0d53a5f48..0000000000 --- a/connectors/kafka/element-templates/kafka-boundary-event-connector.json +++ /dev/null @@ -1,302 +0,0 @@ -{ - "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Kafka Boundary Event Connector", - "id" : "io.camunda.connectors.inbound.KafkaBoundary.v1", - "description" : "Consume Kafka messages", - "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/kafka/?kafka=inbound", - "version" : 5, - "category" : { - "id" : "connectors", - "name" : "Connectors" - }, - "appliesTo" : [ "bpmn:BoundaryEvent" ], - "elementType" : { - "value" : "bpmn:BoundaryEvent", - "eventDefinition" : "bpmn:MessageEventDefinition" - }, - "groups" : [ { - "id" : "authentication", - "label" : "Authentication" - }, { - "id" : "kafka", - "label" : "Kafka" - }, { - "id" : "message", - "label" : "Message deserialization" - }, { - "id" : "activation", - "label" : "Activation" - }, { - "id" : "correlation", - "label" : "Correlation" - }, { - "id" : "output", - "label" : "Output mapping" - } ], - "properties" : [ { - "value" : "io.camunda:connector-kafka-inbound:1", - "binding" : { - "name" : "inbound.type", - "type" : "zeebe:property" - }, - "type" : "Hidden" - }, { - "id" : "authenticationType", - "label" : "Authentication type", - "description" : "Username/password or custom", - "optional" : false, - "value" : "credentials", - "constraints" : { - "notEmpty" : true - }, - "group" : "authentication", - "binding" : { - "name" : "authenticationType", - "type" : "zeebe:property" - }, - "type" : "Dropdown", - "choices" : [ { - "name" : "Credentials", - "value" : "credentials" - }, { - "name" : "Custom", - "value" : "custom" - } ] - }, { - "id" : "authentication.username", - "label" : "Username", - "description" : "Provide the username (must have permissions to produce message to the topic)", - "optional" : true, - "group" : "authentication", - "binding" : { - "name" : "authentication.username", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "authentication.password", - "label" : "Password", - "description" : "Provide a password for the user", - "optional" : true, - "group" : "authentication", - "binding" : { - "name" : "authentication.password", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "serializationType", - "label" : "Deserialization type", - "description" : "Select the deserialization type. For details, visit the documentation", - "optional" : false, - "value" : "json", - "group" : "kafka", - "binding" : { - "name" : "serializationType", - "type" : "zeebe:property" - }, - "type" : "Dropdown", - "choices" : [ { - "name" : "Default (JSON)", - "value" : "json" - }, { - "name" : "AVRO (experimental)", - "value" : "avro" - } ] - }, { - "id" : "topic.bootstrapServers", - "label" : "Bootstrap servers", - "description" : "Provide bootstrap server(s), comma-delimited if there are multiple", - "optional" : false, - "constraints" : { - "notEmpty" : true - }, - "group" : "kafka", - "binding" : { - "name" : "topic.bootstrapServers", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "topic.topicName", - "label" : "Topic", - "description" : "Provide topic name", - "optional" : false, - "constraints" : { - "notEmpty" : true - }, - "group" : "kafka", - "binding" : { - "name" : "topic.topicName", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "groupId", - "label" : "Consumer Group ID", - "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", - "optional" : false, - "group" : "kafka", - "binding" : { - "name" : "groupId", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "additionalProperties", - "label" : "Additional properties", - "description" : "Provide additional Kafka consumer properties in JSON", - "optional" : true, - "feel" : "required", - "group" : "kafka", - "binding" : { - "name" : "additionalProperties", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "offsets", - "label" : "Offsets", - "description" : "List of offsets, e.g. '10' or '=[10, 23]'. If specified, it has to have the same number of values as the number of partitions", - "optional" : false, - "feel" : "optional", - "group" : "kafka", - "binding" : { - "name" : "offsets", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "autoOffsetReset", - "label" : "Auto offset reset", - "description" : "What to do when there is no initial offset in Kafka or if the current offset does not exist any more on the server. You should only select none if you specified the offsets", - "optional" : false, - "value" : "latest", - "constraints" : { - "notEmpty" : true - }, - "group" : "kafka", - "binding" : { - "name" : "autoOffsetReset", - "type" : "zeebe:property" - }, - "type" : "Dropdown", - "choices" : [ { - "name" : "None", - "value" : "none" - }, { - "name" : "Latest", - "value" : "latest" - }, { - "name" : "Earliest", - "value" : "earliest" - } ] - }, { - "id" : "avro.schema", - "label" : "Avro schema", - "description" : "Avro schema for the message value", - "optional" : false, - "constraints" : { - "notEmpty" : true - }, - "feel" : "required", - "group" : "message", - "binding" : { - "name" : "avro.schema", - "type" : "zeebe:property" - }, - "condition" : { - "property" : "serializationType", - "equals" : "avro", - "type" : "simple" - }, - "type" : "Text" - }, { - "id" : "activationCondition", - "label" : "Activation condition", - "description" : "Condition under which the Connector triggers. Leave empty to catch all events", - "optional" : true, - "feel" : "required", - "group" : "activation", - "binding" : { - "name" : "activationCondition", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "correlationKeyProcess", - "label" : "Correlation key (process)", - "description" : "Sets up the correlation key from process variables", - "constraints" : { - "notEmpty" : true - }, - "feel" : "required", - "group" : "correlation", - "binding" : { - "name" : "correlationKey", - "type" : "bpmn:Message#zeebe:subscription#property" - }, - "type" : "String" - }, { - "id" : "correlationKeyPayload", - "label" : "Correlation key (payload)", - "description" : "Extracts the correlation key from the incoming message payload", - "constraints" : { - "notEmpty" : true - }, - "feel" : "required", - "group" : "correlation", - "binding" : { - "name" : "correlationKeyExpression", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "messageIdExpression", - "label" : "Message ID expression", - "description" : "Expression to extract unique identifier of a message", - "optional" : true, - "feel" : "required", - "group" : "correlation", - "binding" : { - "name" : "messageIdExpression", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "messageNameUuid", - "generatedValue" : { - "type" : "uuid" - }, - "group" : "correlation", - "binding" : { - "name" : "name", - "type" : "bpmn:Message#property" - }, - "type" : "Hidden" - }, { - "id" : "resultVariable", - "label" : "Result variable", - "description" : "Name of variable to store the response in", - "group" : "output", - "binding" : { - "name" : "resultVariable", - "type" : "zeebe:property" - }, - "type" : "String" - }, { - "id" : "resultExpression", - "label" : "Result expression", - "description" : "Expression to map the response into process variables", - "feel" : "required", - "group" : "output", - "binding" : { - "name" : "resultExpression", - "type" : "zeebe:property" - }, - "type" : "Text" - } ], - "icon" : { - "contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAyNTYgNDE2JyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaWRZTWlkJz4KICAgIDxwYXRoIGQ9J00yMDEuODE2IDIzMC4yMTZjLTE2LjE4NiAwLTMwLjY5NyA3LjE3MS00MC42MzQgMTguNDYxbC0yNS40NjMtMTguMDI2YzIuNzAzLTcuNDQyIDQuMjU1LTE1LjQzMyA0LjI1NS0yMy43OTcgMC04LjIxOS0xLjQ5OC0xNi4wNzYtNC4xMTItMjMuNDA4bDI1LjQwNi0xNy44MzVjOS45MzYgMTEuMjMzIDI0LjQwOSAxOC4zNjUgNDAuNTQ4IDE4LjM2NSAyOS44NzUgMCA1NC4xODQtMjQuMzA1IDU0LjE4NC01NC4xODQgMC0yOS44NzktMjQuMzA5LTU0LjE4NC01NC4xODQtNTQuMTg0LTI5Ljg3NSAwLTU0LjE4NCAyNC4zMDUtNTQuMTg0IDU0LjE4NCAwIDUuMzQ4LjgwOCAxMC41MDUgMi4yNTggMTUuMzg5bC0yNS40MjMgMTcuODQ0Yy0xMC42Mi0xMy4xNzUtMjUuOTExLTIyLjM3NC00My4zMzMtMjUuMTgydi0zMC42NGMyNC41NDQtNS4xNTUgNDMuMDM3LTI2Ljk2MiA0My4wMzctNTMuMDE5QzEyNC4xNzEgMjQuMzA1IDk5Ljg2MiAwIDY5Ljk4NyAwIDQwLjExMiAwIDE1LjgwMyAyNC4zMDUgMTUuODAzIDU0LjE4NGMwIDI1LjcwOCAxOC4wMTQgNDcuMjQ2IDQyLjA2NyA1Mi43Njl2MzEuMDM4QzI1LjA0NCAxNDMuNzUzIDAgMTcyLjQwMSAwIDIwNi44NTRjMCAzNC42MjEgMjUuMjkyIDYzLjM3NCA1OC4zNTUgNjguOTR2MzIuNzc0Yy0yNC4yOTkgNS4zNDEtNDIuNTUyIDI3LjAxMS00Mi41NTIgNTIuODk0IDAgMjkuODc5IDI0LjMwOSA1NC4xODQgNTQuMTg0IDU0LjE4NCAyOS44NzUgMCA1NC4xODQtMjQuMzA1IDU0LjE4NC01NC4xODQgMC0yNS44ODMtMTguMjUzLTQ3LjU1My00Mi41NTItNTIuODk0di0zMi43NzVhNjkuOTY1IDY5Ljk2NSAwIDAgMCA0Mi42LTI0Ljc3NmwyNS42MzMgMTguMTQzYy0xLjQyMyA0Ljg0LTIuMjIgOS45NDYtMi4yMiAxNS4yNCAwIDI5Ljg3OSAyNC4zMDkgNTQuMTg0IDU0LjE4NCA1NC4xODQgMjkuODc1IDAgNTQuMTg0LTI0LjMwNSA1NC4xODQtNTQuMTg0IDAtMjkuODc5LTI0LjMwOS01NC4xODQtNTQuMTg0LTU0LjE4NHptMC0xMjYuNjk1YzE0LjQ4NyAwIDI2LjI3IDExLjc4OCAyNi4yNyAyNi4yNzFzLTExLjc4MyAyNi4yNy0yNi4yNyAyNi4yNy0yNi4yNy0xMS43ODctMjYuMjctMjYuMjdjMC0xNC40ODMgMTEuNzgzLTI2LjI3MSAyNi4yNy0yNi4yNzF6bS0xNTguMS00OS4zMzdjMC0xNC40ODMgMTEuNzg0LTI2LjI3IDI2LjI3MS0yNi4yN3MyNi4yNyAxMS43ODcgMjYuMjcgMjYuMjdjMCAxNC40ODMtMTEuNzgzIDI2LjI3LTI2LjI3IDI2LjI3cy0yNi4yNzEtMTEuNzg3LTI2LjI3MS0yNi4yN3ptNTIuNTQxIDMwNy4yNzhjMCAxNC40ODMtMTEuNzgzIDI2LjI3LTI2LjI3IDI2LjI3cy0yNi4yNzEtMTEuNzg3LTI2LjI3MS0yNi4yN2MwLTE0LjQ4MyAxMS43ODQtMjYuMjcgMjYuMjcxLTI2LjI3czI2LjI3IDExLjc4NyAyNi4yNyAyNi4yN3ptLTI2LjI3Mi0xMTcuOTdjLTIwLjIwNSAwLTM2LjY0Mi0xNi40MzQtMzYuNjQyLTM2LjYzOCAwLTIwLjIwNSAxNi40MzctMzYuNjQyIDM2LjY0Mi0zNi42NDIgMjAuMjA0IDAgMzYuNjQxIDE2LjQzNyAzNi42NDEgMzYuNjQyIDAgMjAuMjA0LTE2LjQzNyAzNi42MzgtMzYuNjQxIDM2LjYzOHptMTMxLjgzMSA2Ny4xNzljLTE0LjQ4NyAwLTI2LjI3LTExLjc4OC0yNi4yNy0yNi4yNzFzMTEuNzgzLTI2LjI3IDI2LjI3LTI2LjI3IDI2LjI3IDExLjc4NyAyNi4yNyAyNi4yN2MwIDE0LjQ4My0xMS43ODMgMjYuMjcxLTI2LjI3IDI2LjI3MXonCiAgICAgICAgICBzdHlsZT0nZmlsbDojMjMxZjIwJy8+Cjwvc3ZnPg==" - } -} \ No newline at end of file diff --git a/connectors/kafka/element-templates/kafka-inbound-connector-boundary.json b/connectors/kafka/element-templates/kafka-inbound-connector-boundary.json index 88e7e7810e..ceb0141c3f 100644 --- a/connectors/kafka/element-templates/kafka-inbound-connector-boundary.json +++ b/connectors/kafka/element-templates/kafka-inbound-connector-boundary.json @@ -137,7 +137,7 @@ "type" : "String" }, { "id" : "groupId", - "label" : "Consumer Group ID", + "label" : "Consumer group ID", "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", "optional" : false, "group" : "kafka", diff --git a/connectors/kafka/element-templates/kafka-inbound-connector-intermediate.json b/connectors/kafka/element-templates/kafka-inbound-connector-intermediate.json index dcb62b1628..fcd767ebbb 100644 --- a/connectors/kafka/element-templates/kafka-inbound-connector-intermediate.json +++ b/connectors/kafka/element-templates/kafka-inbound-connector-intermediate.json @@ -137,7 +137,7 @@ "type" : "String" }, { "id" : "groupId", - "label" : "Consumer Group ID", + "label" : "Consumer group ID", "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", "optional" : false, "group" : "kafka", diff --git a/connectors/kafka/element-templates/kafka-inbound-connector-start-event.json b/connectors/kafka/element-templates/kafka-inbound-connector-start-event.json index abc72f469d..ded8013d09 100644 --- a/connectors/kafka/element-templates/kafka-inbound-connector-start-event.json +++ b/connectors/kafka/element-templates/kafka-inbound-connector-start-event.json @@ -133,7 +133,7 @@ "type" : "String" }, { "id" : "groupId", - "label" : "Consumer Group ID", + "label" : "Consumer group ID", "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", "optional" : false, "group" : "kafka", diff --git a/connectors/kafka/element-templates/kafka-inbound-connector-start-message.json b/connectors/kafka/element-templates/kafka-inbound-connector-start-message.json index 6633c2220c..21eb734aee 100644 --- a/connectors/kafka/element-templates/kafka-inbound-connector-start-message.json +++ b/connectors/kafka/element-templates/kafka-inbound-connector-start-message.json @@ -137,7 +137,7 @@ "type" : "String" }, { "id" : "groupId", - "label" : "Consumer Group ID", + "label" : "Consumer group ID", "description" : "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one", "optional" : false, "group" : "kafka", diff --git a/connectors/kafka/src/main/java/io/camunda/connector/kafka/inbound/KafkaConnectorProperties.java b/connectors/kafka/src/main/java/io/camunda/connector/kafka/inbound/KafkaConnectorProperties.java index 4c075236ca..ec787db639 100644 --- a/connectors/kafka/src/main/java/io/camunda/connector/kafka/inbound/KafkaConnectorProperties.java +++ b/connectors/kafka/src/main/java/io/camunda/connector/kafka/inbound/KafkaConnectorProperties.java @@ -53,7 +53,7 @@ public record KafkaConnectorProperties( @Valid @NotNull KafkaTopic topic, @TemplateProperty( group = "kafka", - label = "Consumer Group ID", + label = "Consumer group ID", description = "Provide the consumer group ID used by the connector. Leave empty for an automatically generated one") String groupId, diff --git a/connectors/microsoft-teams/element-templates/hybrid/microsoft-teams-outbound-connector-hybrid.json b/connectors/microsoft-teams/element-templates/hybrid/microsoft-teams-outbound-connector-hybrid.json index 507fec2ebc..20206a9dbe 100644 --- a/connectors/microsoft-teams/element-templates/hybrid/microsoft-teams-outbound-connector-hybrid.json +++ b/connectors/microsoft-teams/element-templates/hybrid/microsoft-teams-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Microsoft Teams Outbound Connector", - "id" : "io.camunda.connectors.MSTeams.v1", + "name" : "Hybrid Microsoft Teams Outbound Connector", + "id" : "io.camunda.connectors.MSTeams.v1-hybrid", "description" : "Create, update, and send a message to your Microsoft Teams", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/microsoft-teams/", "version" : 3, diff --git a/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-boundary-hybrid.json b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-boundary-hybrid.json new file mode 100644 index 0000000000..e9d693d993 --- /dev/null +++ b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-boundary-hybrid.json @@ -0,0 +1,388 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid RabbitMQ Boundary Event Connector", + "id" : "io.camunda.connectors.inbound.RabbitMQ.Boundary.v1-hybrid", + "description" : "Receive a message from RabbitMQ", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/rabbitmq/?rabbitmq=inbound", + "version" : 7, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:BoundaryEvent" ], + "elementType" : { + "value" : "bpmn:BoundaryEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "routing", + "label" : "Routing" + }, { + "id" : "subscription", + "label" : "Subscription" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:connector-rabbitmq-inbound:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "authentication.authType", + "label" : "Connection type", + "value" : "uri", + "group" : "authentication", + "binding" : { + "name" : "authentication.authType", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "URI", + "value" : "uri" + }, { + "name" : "Username/Password", + "value" : "credentials" + } ] + }, { + "id" : "authentication.uri", + "label" : "URI", + "description" : "URI should contain username, password, host name, port number, and virtual host", + "optional" : false, + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^(=|amqps?://|secrets|\\{\\{).*$", + "message" : "Must start with amqp(s):// or contain a secret reference" + } + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.uri", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "uri", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.userName", + "label" : "Username", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.userName", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.password", + "label" : "Password", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.password", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.virtualHost", + "label" : "Virtual host", + "description" : "Virtual name: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.virtualHost", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.hostName", + "label" : "Host name", + "description" : "Host name: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.hostName", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.port", + "label" : "Port", + "description" : "Port: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.port", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "queueName", + "label" : "Queue name", + "description" : "Name of the queue to subscribe to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "subscription", + "binding" : { + "name" : "queueName", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "consumerTag", + "label" : "Consumer tag", + "description" : "Consumer tag to use for the subscription", + "optional" : false, + "group" : "subscription", + "binding" : { + "name" : "consumerTag", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "arguments", + "label" : "Arguments", + "description" : "Arguments to use for the subscription", + "optional" : true, + "feel" : "required", + "group" : "subscription", + "binding" : { + "name" : "arguments", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "exclusive", + "label" : "Exclusive consumer", + "optional" : false, + "value" : "false", + "group" : "subscription", + "binding" : { + "name" : "exclusive", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Yes", + "value" : "true" + }, { + "name" : "No", + "value" : "false" + } ] + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgdmlld0JveD0nLTcuNSAwIDI3MSAyNzEnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaWRZTWlkJz4KICAgIDxwYXRoIGQ9J00yNDUuNDQgMTA4LjMwOGgtODUuMDlhNy43MzggNy43MzggMCAwIDEtNy43MzUtNy43MzR2LTg4LjY4QzE1Mi42MTUgNS4zMjcgMTQ3LjI5IDAgMTQwLjcyNiAwaC0zMC4zNzVjLTYuNTY4IDAtMTEuODkgNS4zMjctMTEuODkgMTEuODk0djg4LjE0M2MwIDQuNTczLTMuNjk3IDguMjktOC4yNyA4LjMxbC0yNy44ODUuMTMzYy00LjYxMi4wMjUtOC4zNTktMy43MTctOC4zNS04LjMyNWwuMTczLTg4LjI0MUM1NC4xNDQgNS4zMzcgNDguODE3IDAgNDIuMjQgMEgxMS44OUM1LjMyMSAwIDAgNS4zMjcgMCAxMS44OTRWMjYwLjIxYzAgNS44MzQgNC43MjYgMTAuNTYgMTAuNTU1IDEwLjU2SDI0NS40NGM1LjgzNCAwIDEwLjU2LTQuNzI2IDEwLjU2LTEwLjU2VjExOC44NjhjMC01LjgzNC00LjcyNi0xMC41Ni0xMC41Ni0xMC41NnptLTM5LjkwMiA5My4yMzNjMCA3LjY0NS02LjE5OCAxMy44NDQtMTMuODQzIDEzLjg0NEgxNjcuNjljLTcuNjQ2IDAtMTMuODQ0LTYuMTk5LTEzLjg0NC0xMy44NDR2LTI0LjAwNWMwLTcuNjQ2IDYuMTk4LTEzLjg0NCAxMy44NDQtMTMuODQ0aDI0LjAwNWM3LjY0NSAwIDEzLjg0MyA2LjE5OCAxMy44NDMgMTMuODQ0djI0LjAwNXonCiAgICAgICAgICBmaWxsPScjRjYwJy8+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-intermediate-hybrid.json b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-intermediate-hybrid.json new file mode 100644 index 0000000000..960720668c --- /dev/null +++ b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-intermediate-hybrid.json @@ -0,0 +1,388 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid RabbitMQ Intermediate Catch Event Connector", + "id" : "io.camunda.connectors.inbound.RabbitMQ.Intermediate.v1-hybrid", + "description" : "Receive a message from RabbitMQ", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/rabbitmq/?rabbitmq=inbound", + "version" : 7, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent" ], + "elementType" : { + "value" : "bpmn:IntermediateCatchEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "routing", + "label" : "Routing" + }, { + "id" : "subscription", + "label" : "Subscription" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:connector-rabbitmq-inbound:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "authentication.authType", + "label" : "Connection type", + "value" : "uri", + "group" : "authentication", + "binding" : { + "name" : "authentication.authType", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "URI", + "value" : "uri" + }, { + "name" : "Username/Password", + "value" : "credentials" + } ] + }, { + "id" : "authentication.uri", + "label" : "URI", + "description" : "URI should contain username, password, host name, port number, and virtual host", + "optional" : false, + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^(=|amqps?://|secrets|\\{\\{).*$", + "message" : "Must start with amqp(s):// or contain a secret reference" + } + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.uri", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "uri", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.userName", + "label" : "Username", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.userName", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.password", + "label" : "Password", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.password", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.virtualHost", + "label" : "Virtual host", + "description" : "Virtual name: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.virtualHost", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.hostName", + "label" : "Host name", + "description" : "Host name: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.hostName", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.port", + "label" : "Port", + "description" : "Port: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.port", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "queueName", + "label" : "Queue name", + "description" : "Name of the queue to subscribe to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "subscription", + "binding" : { + "name" : "queueName", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "consumerTag", + "label" : "Consumer tag", + "description" : "Consumer tag to use for the subscription", + "optional" : false, + "group" : "subscription", + "binding" : { + "name" : "consumerTag", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "arguments", + "label" : "Arguments", + "description" : "Arguments to use for the subscription", + "optional" : true, + "feel" : "required", + "group" : "subscription", + "binding" : { + "name" : "arguments", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "exclusive", + "label" : "Exclusive consumer", + "optional" : false, + "value" : "false", + "group" : "subscription", + "binding" : { + "name" : "exclusive", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Yes", + "value" : "true" + }, { + "name" : "No", + "value" : "false" + } ] + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgdmlld0JveD0nLTcuNSAwIDI3MSAyNzEnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaWRZTWlkJz4KICAgIDxwYXRoIGQ9J00yNDUuNDQgMTA4LjMwOGgtODUuMDlhNy43MzggNy43MzggMCAwIDEtNy43MzUtNy43MzR2LTg4LjY4QzE1Mi42MTUgNS4zMjcgMTQ3LjI5IDAgMTQwLjcyNiAwaC0zMC4zNzVjLTYuNTY4IDAtMTEuODkgNS4zMjctMTEuODkgMTEuODk0djg4LjE0M2MwIDQuNTczLTMuNjk3IDguMjktOC4yNyA4LjMxbC0yNy44ODUuMTMzYy00LjYxMi4wMjUtOC4zNTktMy43MTctOC4zNS04LjMyNWwuMTczLTg4LjI0MUM1NC4xNDQgNS4zMzcgNDguODE3IDAgNDIuMjQgMEgxMS44OUM1LjMyMSAwIDAgNS4zMjcgMCAxMS44OTRWMjYwLjIxYzAgNS44MzQgNC43MjYgMTAuNTYgMTAuNTU1IDEwLjU2SDI0NS40NGM1LjgzNCAwIDEwLjU2LTQuNzI2IDEwLjU2LTEwLjU2VjExOC44NjhjMC01LjgzNC00LjcyNi0xMC41Ni0xMC41Ni0xMC41NnptLTM5LjkwMiA5My4yMzNjMCA3LjY0NS02LjE5OCAxMy44NDQtMTMuODQzIDEzLjg0NEgxNjcuNjljLTcuNjQ2IDAtMTMuODQ0LTYuMTk5LTEzLjg0NC0xMy44NDR2LTI0LjAwNWMwLTcuNjQ2IDYuMTk4LTEzLjg0NCAxMy44NDQtMTMuODQ0aDI0LjAwNWM3LjY0NSAwIDEzLjg0MyA2LjE5OCAxMy44NDMgMTMuODQ0djI0LjAwNXonCiAgICAgICAgICBmaWxsPScjRjYwJy8+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-message-start-hybrid.json b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-message-start-hybrid.json new file mode 100644 index 0000000000..1367f84f11 --- /dev/null +++ b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-message-start-hybrid.json @@ -0,0 +1,416 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid RabbitMQ Message Start Event Connector", + "id" : "io.camunda.connectors.inbound.RabbitMQ.MessageStart.v1-hybrid", + "description" : "Receive a message from RabbitMQ", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/rabbitmq/?rabbitmq=inbound", + "version" : 7, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "routing", + "label" : "Routing" + }, { + "id" : "subscription", + "label" : "Subscription" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:connector-rabbitmq-inbound:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "authentication.authType", + "label" : "Connection type", + "value" : "uri", + "group" : "authentication", + "binding" : { + "name" : "authentication.authType", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "URI", + "value" : "uri" + }, { + "name" : "Username/Password", + "value" : "credentials" + } ] + }, { + "id" : "authentication.uri", + "label" : "URI", + "description" : "URI should contain username, password, host name, port number, and virtual host", + "optional" : false, + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^(=|amqps?://|secrets|\\{\\{).*$", + "message" : "Must start with amqp(s):// or contain a secret reference" + } + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.uri", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "uri", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.userName", + "label" : "Username", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.userName", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.password", + "label" : "Password", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.password", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.virtualHost", + "label" : "Virtual host", + "description" : "Virtual name: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.virtualHost", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.hostName", + "label" : "Host name", + "description" : "Host name: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.hostName", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.port", + "label" : "Port", + "description" : "Port: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.port", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "queueName", + "label" : "Queue name", + "description" : "Name of the queue to subscribe to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "subscription", + "binding" : { + "name" : "queueName", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "consumerTag", + "label" : "Consumer tag", + "description" : "Consumer tag to use for the subscription", + "optional" : false, + "group" : "subscription", + "binding" : { + "name" : "consumerTag", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "arguments", + "label" : "Arguments", + "description" : "Arguments to use for the subscription", + "optional" : true, + "feel" : "required", + "group" : "subscription", + "binding" : { + "name" : "arguments", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "exclusive", + "label" : "Exclusive consumer", + "optional" : false, + "value" : "false", + "group" : "subscription", + "binding" : { + "name" : "exclusive", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Yes", + "value" : "true" + }, { + "name" : "No", + "value" : "false" + } ] + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationRequired", + "label" : "Subprocess correlation required", + "description" : "Indicates whether correlation is required. This is needed for event-based subprocess message start events", + "value" : "notRequired", + "group" : "correlation", + "binding" : { + "name" : "correlationRequired", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Correlation not required", + "value" : "notRequired" + }, { + "name" : "Correlation required", + "value" : "required" + } ] + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "condition" : { + "property" : "correlationRequired", + "equals" : "required", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "correlationRequired", + "equals" : "required", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgdmlld0JveD0nLTcuNSAwIDI3MSAyNzEnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaWRZTWlkJz4KICAgIDxwYXRoIGQ9J00yNDUuNDQgMTA4LjMwOGgtODUuMDlhNy43MzggNy43MzggMCAwIDEtNy43MzUtNy43MzR2LTg4LjY4QzE1Mi42MTUgNS4zMjcgMTQ3LjI5IDAgMTQwLjcyNiAwaC0zMC4zNzVjLTYuNTY4IDAtMTEuODkgNS4zMjctMTEuODkgMTEuODk0djg4LjE0M2MwIDQuNTczLTMuNjk3IDguMjktOC4yNyA4LjMxbC0yNy44ODUuMTMzYy00LjYxMi4wMjUtOC4zNTktMy43MTctOC4zNS04LjMyNWwuMTczLTg4LjI0MUM1NC4xNDQgNS4zMzcgNDguODE3IDAgNDIuMjQgMEgxMS44OUM1LjMyMSAwIDAgNS4zMjcgMCAxMS44OTRWMjYwLjIxYzAgNS44MzQgNC43MjYgMTAuNTYgMTAuNTU1IDEwLjU2SDI0NS40NGM1LjgzNCAwIDEwLjU2LTQuNzI2IDEwLjU2LTEwLjU2VjExOC44NjhjMC01LjgzNC00LjcyNi0xMC41Ni0xMC41Ni0xMC41NnptLTM5LjkwMiA5My4yMzNjMCA3LjY0NS02LjE5OCAxMy44NDQtMTMuODQzIDEzLjg0NEgxNjcuNjljLTcuNjQ2IDAtMTMuODQ0LTYuMTk5LTEzLjg0NC0xMy44NDR2LTI0LjAwNWMwLTcuNjQ2IDYuMTk4LTEzLjg0NCAxMy44NDQtMTMuODQ0aDI0LjAwNWM3LjY0NSAwIDEzLjg0MyA2LjE5OCAxMy44NDMgMTMuODQ0djI0LjAwNXonCiAgICAgICAgICBmaWxsPScjRjYwJy8+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-start-event-hybrid.json b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-start-event-hybrid.json new file mode 100644 index 0000000000..8b52088f2d --- /dev/null +++ b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-inbound-connector-start-event-hybrid.json @@ -0,0 +1,333 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid RabbitMQ Start Event Connector", + "id" : "io.camunda.connectors.inbound.RabbitMQ.StartEvent.v1-hybrid", + "description" : "Receive a message from RabbitMQ", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/rabbitmq/?rabbitmq=inbound", + "version" : 7, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "routing", + "label" : "Routing" + }, { + "id" : "subscription", + "label" : "Subscription" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "deduplication", + "label" : "Deduplication", + "tooltip" : "Deduplication allows you to configure multiple inbound connector elements to reuse the same backend (consumer/thread/endpoint) by sharing the same deduplication ID." + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:connector-rabbitmq-inbound:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "authentication.authType", + "label" : "Connection type", + "value" : "uri", + "group" : "authentication", + "binding" : { + "name" : "authentication.authType", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "URI", + "value" : "uri" + }, { + "name" : "Username/Password", + "value" : "credentials" + } ] + }, { + "id" : "authentication.uri", + "label" : "URI", + "description" : "URI should contain username, password, host name, port number, and virtual host", + "optional" : false, + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^(=|amqps?://|secrets|\\{\\{).*$", + "message" : "Must start with amqp(s):// or contain a secret reference" + } + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.uri", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "uri", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.userName", + "label" : "Username", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.userName", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "authentication.password", + "label" : "Password", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "authentication", + "binding" : { + "name" : "authentication.password", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.virtualHost", + "label" : "Virtual host", + "description" : "Virtual name: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.virtualHost", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.hostName", + "label" : "Host name", + "description" : "Host name: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.hostName", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "routing.port", + "label" : "Port", + "description" : "Port: get from RabbitMQ external application configurations. Details in the documentation", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "routing", + "binding" : { + "name" : "routing.port", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "authentication.authType", + "equals" : "credentials", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "queueName", + "label" : "Queue name", + "description" : "Name of the queue to subscribe to", + "optional" : false, + "constraints" : { + "notEmpty" : true + }, + "group" : "subscription", + "binding" : { + "name" : "queueName", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "consumerTag", + "label" : "Consumer tag", + "description" : "Consumer tag to use for the subscription", + "optional" : false, + "group" : "subscription", + "binding" : { + "name" : "consumerTag", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "arguments", + "label" : "Arguments", + "description" : "Arguments to use for the subscription", + "optional" : true, + "feel" : "required", + "group" : "subscription", + "binding" : { + "name" : "arguments", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "exclusive", + "label" : "Exclusive consumer", + "optional" : false, + "value" : "false", + "group" : "subscription", + "binding" : { + "name" : "exclusive", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Yes", + "value" : "true" + }, { + "name" : "No", + "value" : "false" + } ] + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManualFlag", + "label" : "Manual mode", + "description" : "By default, similar connectors receive the same deduplication ID. Customize by activating manual mode", + "value" : false, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationModeManualFlag", + "type" : "zeebe:property" + }, + "type" : "Boolean" + }, { + "id" : "deduplicationId", + "label" : "Deduplication ID", + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9_-]+$", + "message" : "Only alphanumeric characters, dashes, and underscores are allowed" + } + }, + "group" : "deduplication", + "binding" : { + "name" : "deduplicationId", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationModeManualFlag", + "equals" : true, + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "deduplicationModeManual", + "value" : "MANUAL", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : true, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "deduplicationModeAuto", + "value" : "AUTO", + "group" : "deduplication", + "binding" : { + "name" : "deduplicationMode", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "deduplicationId", + "isActive" : false, + "type" : "simple" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxOCcgaGVpZ2h0PScxOCcgdmlld0JveD0nLTcuNSAwIDI3MSAyNzEnIHByZXNlcnZlQXNwZWN0UmF0aW89J3hNaWRZTWlkJz4KICAgIDxwYXRoIGQ9J00yNDUuNDQgMTA4LjMwOGgtODUuMDlhNy43MzggNy43MzggMCAwIDEtNy43MzUtNy43MzR2LTg4LjY4QzE1Mi42MTUgNS4zMjcgMTQ3LjI5IDAgMTQwLjcyNiAwaC0zMC4zNzVjLTYuNTY4IDAtMTEuODkgNS4zMjctMTEuODkgMTEuODk0djg4LjE0M2MwIDQuNTczLTMuNjk3IDguMjktOC4yNyA4LjMxbC0yNy44ODUuMTMzYy00LjYxMi4wMjUtOC4zNTktMy43MTctOC4zNS04LjMyNWwuMTczLTg4LjI0MUM1NC4xNDQgNS4zMzcgNDguODE3IDAgNDIuMjQgMEgxMS44OUM1LjMyMSAwIDAgNS4zMjcgMCAxMS44OTRWMjYwLjIxYzAgNS44MzQgNC43MjYgMTAuNTYgMTAuNTU1IDEwLjU2SDI0NS40NGM1LjgzNCAwIDEwLjU2LTQuNzI2IDEwLjU2LTEwLjU2VjExOC44NjhjMC01LjgzNC00LjcyNi0xMC41Ni0xMC41Ni0xMC41NnptLTM5LjkwMiA5My4yMzNjMCA3LjY0NS02LjE5OCAxMy44NDQtMTMuODQzIDEzLjg0NEgxNjcuNjljLTcuNjQ2IDAtMTMuODQ0LTYuMTk5LTEzLjg0NC0xMy44NDR2LTI0LjAwNWMwLTcuNjQ2IDYuMTk4LTEzLjg0NCAxMy44NDQtMTMuODQ0aDI0LjAwNWM3LjY0NSAwIDEzLjg0MyA2LjE5OCAxMy44NDMgMTMuODQ0djI0LjAwNXonCiAgICAgICAgICBmaWxsPScjRjYwJy8+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/rabbitmq/element-templates/hybrid/rabbitmq-outbound-connector-hybrid.json b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-outbound-connector-hybrid.json index 959fdfe220..5e7c37997a 100644 --- a/connectors/rabbitmq/element-templates/hybrid/rabbitmq-outbound-connector-hybrid.json +++ b/connectors/rabbitmq/element-templates/hybrid/rabbitmq-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "RabbitMQ Outbound Connector", - "id" : "io.camunda.connectors.RabbitMQ.v1", + "name" : "Hybrid RabbitMQ Outbound Connector", + "id" : "io.camunda.connectors.RabbitMQ.v1-hybrid", "description" : "Send message to RabbitMQ", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/rabbitmq/?rabbitmq=outbound", "version" : 5, diff --git a/connectors/rabbitmq/pom.xml b/connectors/rabbitmq/pom.xml index 05e4d6a966..633dbc286a 100644 --- a/connectors/rabbitmq/pom.xml +++ b/connectors/rabbitmq/pom.xml @@ -84,6 +84,7 @@ rabbitmq-inbound-connector-boundary.json + true true diff --git a/connectors/sendgrid/element-templates/hybrid/sendgrid-outbound-connector-hybrid.json b/connectors/sendgrid/element-templates/hybrid/sendgrid-outbound-connector-hybrid.json index 1ab4a3d9cd..2d9cfba115 100644 --- a/connectors/sendgrid/element-templates/hybrid/sendgrid-outbound-connector-hybrid.json +++ b/connectors/sendgrid/element-templates/hybrid/sendgrid-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "SendGrid Outbound Connector", - "id" : "io.camunda.connectors.SendGrid.v2", + "name" : "Hybrid SendGrid Outbound Connector", + "id" : "io.camunda.connectors.SendGrid.v2-hybrid", "description" : "Send an email via SendGrid", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/sendgrid/", "version" : 3, diff --git a/connectors/slack/element-templates/hybrid/slack-inbound-boundary-hybrid.json b/connectors/slack/element-templates/hybrid/slack-inbound-boundary-hybrid.json index c939d4a02e..fe4c9d1137 100644 --- a/connectors/slack/element-templates/hybrid/slack-inbound-boundary-hybrid.json +++ b/connectors/slack/element-templates/hybrid/slack-inbound-boundary-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Slack Webhook Boundary Event Connector", - "id" : "io.camunda.connectors.inbound.Slack.BoundaryEvent.v1", + "name" : "Hybrid Slack Webhook Boundary Event Connector", + "id" : "io.camunda.connectors.inbound.Slack.BoundaryEvent.v1-hybrid", "description" : "Receive events from Slack", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=inbound", "version" : 5, diff --git a/connectors/slack/element-templates/hybrid/slack-inbound-intermediate-hybrid.json b/connectors/slack/element-templates/hybrid/slack-inbound-intermediate-hybrid.json index 5d0902b7c5..58581710ee 100644 --- a/connectors/slack/element-templates/hybrid/slack-inbound-intermediate-hybrid.json +++ b/connectors/slack/element-templates/hybrid/slack-inbound-intermediate-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Slack Webhook Intermediate Catch Event Connector", - "id" : "io.camunda.connectors.inbound.Slack.IntermediateCatchEvent.v1", + "name" : "Hybrid Slack Webhook Intermediate Catch Event Connector", + "id" : "io.camunda.connectors.inbound.Slack.IntermediateCatchEvent.v1-hybrid", "description" : "Receive events from Slack", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=inbound", "version" : 5, diff --git a/connectors/slack/element-templates/hybrid/slack-inbound-message-start-hybrid.json b/connectors/slack/element-templates/hybrid/slack-inbound-message-start-hybrid.json index 8857ffa8eb..c35256d207 100644 --- a/connectors/slack/element-templates/hybrid/slack-inbound-message-start-hybrid.json +++ b/connectors/slack/element-templates/hybrid/slack-inbound-message-start-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Slack Webhook Message Start Event Connector", - "id" : "io.camunda.connectors.inbound.Slack.MessageStartEvent.v1", + "name" : "Hybrid Slack Webhook Message Start Event Connector", + "id" : "io.camunda.connectors.inbound.Slack.MessageStartEvent.v1-hybrid", "description" : "Receive events from Slack", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=inbound", "version" : 5, diff --git a/connectors/slack/element-templates/hybrid/slack-inbound-start-event-hybrid.json b/connectors/slack/element-templates/hybrid/slack-inbound-start-event-hybrid.json index 83d3e02d7b..1b327bffbf 100644 --- a/connectors/slack/element-templates/hybrid/slack-inbound-start-event-hybrid.json +++ b/connectors/slack/element-templates/hybrid/slack-inbound-start-event-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Slack Webhook Start Event Connector", - "id" : "io.camunda.connectors.inbound.Slack.StartEvent.v1", + "name" : "Hybrid Slack Webhook Start Event Connector", + "id" : "io.camunda.connectors.inbound.Slack.StartEvent.v1-hybrid", "description" : "Receive events from Slack", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=inbound", "version" : 5, diff --git a/connectors/slack/element-templates/hybrid/slack-outbound-connector-hybrid.json b/connectors/slack/element-templates/hybrid/slack-outbound-connector-hybrid.json index 1fe7dae45b..16461db258 100644 --- a/connectors/slack/element-templates/hybrid/slack-outbound-connector-hybrid.json +++ b/connectors/slack/element-templates/hybrid/slack-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "Slack Outbound Connector", - "id" : "io.camunda.connectors.Slack.v1", + "name" : "Hybrid Slack Outbound Connector", + "id" : "io.camunda.connectors.Slack.v1-hybrid", "description" : "Create a channel or send a message to a channel or user", "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/slack/?slack=outbound", "version" : 3, diff --git a/connectors/soap/element-templates/hybrid/soap-outbound-connector-hybrid.json b/connectors/soap/element-templates/hybrid/soap-outbound-connector-hybrid.json index 3c57d45206..d4d4e66b76 100644 --- a/connectors/soap/element-templates/hybrid/soap-outbound-connector-hybrid.json +++ b/connectors/soap/element-templates/hybrid/soap-outbound-connector-hybrid.json @@ -1,7 +1,7 @@ { "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name" : "SOAP Connector", - "id" : "io.camunda:soap", + "name" : "Hybrid SOAP Connector", + "id" : "io.camunda:soap-hybrid", "description" : "A Connector to execute a SOAP request", "version" : 1, "category" : { diff --git a/connectors/webhook/element-templates/hybrid/webhook-connector-boundary-hybrid.json b/connectors/webhook/element-templates/hybrid/webhook-connector-boundary-hybrid.json new file mode 100644 index 0000000000..4ab938f87b --- /dev/null +++ b/connectors/webhook/element-templates/hybrid/webhook-connector-boundary-hybrid.json @@ -0,0 +1,453 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Webhook Boundary Event Connector", + "id" : "io.camunda.connectors.webhook.WebhookConnectorBoundary.v1-hybrid", + "description" : "Configure webhook to receive callbacks", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/", + "version" : 11, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:BoundaryEvent" ], + "elementType" : { + "value" : "bpmn:BoundaryEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "endpoint", + "label" : "Webhook configuration" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "authorization", + "label" : "Authorization" + }, { + "id" : "webhookResponse", + "label" : "Webhook response" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:webhook:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.method", + "label" : "Webhook method", + "description" : "Select HTTP method", + "optional" : false, + "value" : "any", + "group" : "endpoint", + "binding" : { + "name" : "inbound.method", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Any", + "value" : "any" + }, { + "name" : "GET", + "value" : "get" + }, { + "name" : "POST", + "value" : "post" + }, { + "name" : "PUT", + "value" : "put" + }, { + "name" : "DELETE", + "value" : "delete" + } ] + }, { + "id" : "inbound.context", + "label" : "Webhook ID", + "description" : "The webhook ID is a part of the URL", + "optional" : false, + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$", + "message" : "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen" + } + }, + "group" : "endpoint", + "binding" : { + "name" : "inbound.context", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.shouldValidateHmac", + "label" : "HMAC authentication", + "description" : "Choose whether HMAC verification is enabled. See documentation and example that explains how to use HMAC-related fields", + "optional" : false, + "value" : "disabled", + "group" : "authentication", + "binding" : { + "name" : "inbound.shouldValidateHmac", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Enabled", + "value" : "enabled" + }, { + "name" : "Disabled", + "value" : "disabled" + } ] + }, { + "id" : "inbound.hmacSecret", + "label" : "HMAC secret key", + "description" : "Shared secret key", + "optional" : true, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacSecret", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.hmacHeader", + "label" : "HMAC header", + "description" : "Name of header attribute that will contain the HMAC value", + "optional" : true, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacHeader", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.hmacAlgorithm", + "label" : "HMAC algorithm", + "description" : "Choose HMAC algorithm", + "optional" : false, + "value" : "sha_256", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacAlgorithm", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "SHA-1", + "value" : "sha_1" + }, { + "name" : "SHA-256", + "value" : "sha_256" + }, { + "name" : "SHA-512", + "value" : "sha_512" + } ] + }, { + "id" : "inbound.hmacScopes", + "label" : "HMAC scopes", + "description" : "Set HMAC scopes for calculating signature data. See documentation", + "optional" : true, + "feel" : "required", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacScopes", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.type", + "label" : "Authorization type", + "description" : "Choose the authorization type", + "value" : "NONE", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.type", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Basic", + "value" : "BASIC" + }, { + "name" : "API key", + "value" : "APIKEY" + }, { + "name" : "None", + "value" : "NONE" + }, { + "name" : "JWT", + "value" : "JWT" + } ] + }, { + "id" : "inbound.auth.username", + "label" : "Username", + "description" : "Username for basic authentication", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.username", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "BASIC", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.password", + "label" : "Password", + "description" : "Password for basic authentication", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.password", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "BASIC", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.apiKey", + "label" : "API key", + "description" : "Expected API key", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.apiKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "APIKEY", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.apiKeyLocator", + "label" : "API key locator", + "description" : "A FEEL expression that extracts API key from the request. See documentation", + "optional" : false, + "value" : "=split(request.headers.authorization, \" \")[2]", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.apiKeyLocator", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "APIKEY", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.jwkUrl", + "label" : "JWK URL", + "description" : "Well-known URL of JWKs", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.jwkUrl", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.permissionsExpression", + "label" : "JWT role property expression", + "description" : "Expression to extract the roles from the JWT token. See documentation", + "optional" : false, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.permissionsExpression", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.requiredPermissions", + "label" : "Required roles", + "description" : "List of roles to test JWT roles against", + "optional" : false, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.requiredPermissions", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.responseExpression", + "label" : "Response expression", + "description" : "Expression used to generate the HTTP response", + "optional" : true, + "feel" : "required", + "group" : "webhookResponse", + "binding" : { + "name" : "inbound.responseExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + }, { + "id" : "inbound.verificationExpression", + "label" : "One time verification response expression", + "description" : "Specify condition and response. Learn more in the documentation", + "optional" : true, + "feel" : "required", + "group" : "webhookResponse", + "binding" : { + "name" : "inbound.verificationExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/webhook/element-templates/hybrid/webhook-connector-intermediate-hybrid.json b/connectors/webhook/element-templates/hybrid/webhook-connector-intermediate-hybrid.json new file mode 100644 index 0000000000..90e4b04872 --- /dev/null +++ b/connectors/webhook/element-templates/hybrid/webhook-connector-intermediate-hybrid.json @@ -0,0 +1,453 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Webhook Intermediate Event Connector", + "id" : "io.camunda.connectors.webhook.WebhookConnectorIntermediate.v1-hybrid", + "description" : "Configure webhook to receive callbacks", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/", + "version" : 11, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent" ], + "elementType" : { + "value" : "bpmn:IntermediateCatchEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "endpoint", + "label" : "Webhook configuration" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "authorization", + "label" : "Authorization" + }, { + "id" : "webhookResponse", + "label" : "Webhook response" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:webhook:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.method", + "label" : "Webhook method", + "description" : "Select HTTP method", + "optional" : false, + "value" : "any", + "group" : "endpoint", + "binding" : { + "name" : "inbound.method", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Any", + "value" : "any" + }, { + "name" : "GET", + "value" : "get" + }, { + "name" : "POST", + "value" : "post" + }, { + "name" : "PUT", + "value" : "put" + }, { + "name" : "DELETE", + "value" : "delete" + } ] + }, { + "id" : "inbound.context", + "label" : "Webhook ID", + "description" : "The webhook ID is a part of the URL", + "optional" : false, + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$", + "message" : "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen" + } + }, + "group" : "endpoint", + "binding" : { + "name" : "inbound.context", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.shouldValidateHmac", + "label" : "HMAC authentication", + "description" : "Choose whether HMAC verification is enabled. See documentation and example that explains how to use HMAC-related fields", + "optional" : false, + "value" : "disabled", + "group" : "authentication", + "binding" : { + "name" : "inbound.shouldValidateHmac", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Enabled", + "value" : "enabled" + }, { + "name" : "Disabled", + "value" : "disabled" + } ] + }, { + "id" : "inbound.hmacSecret", + "label" : "HMAC secret key", + "description" : "Shared secret key", + "optional" : true, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacSecret", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.hmacHeader", + "label" : "HMAC header", + "description" : "Name of header attribute that will contain the HMAC value", + "optional" : true, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacHeader", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.hmacAlgorithm", + "label" : "HMAC algorithm", + "description" : "Choose HMAC algorithm", + "optional" : false, + "value" : "sha_256", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacAlgorithm", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "SHA-1", + "value" : "sha_1" + }, { + "name" : "SHA-256", + "value" : "sha_256" + }, { + "name" : "SHA-512", + "value" : "sha_512" + } ] + }, { + "id" : "inbound.hmacScopes", + "label" : "HMAC scopes", + "description" : "Set HMAC scopes for calculating signature data. See documentation", + "optional" : true, + "feel" : "required", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacScopes", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.type", + "label" : "Authorization type", + "description" : "Choose the authorization type", + "value" : "NONE", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.type", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Basic", + "value" : "BASIC" + }, { + "name" : "API key", + "value" : "APIKEY" + }, { + "name" : "None", + "value" : "NONE" + }, { + "name" : "JWT", + "value" : "JWT" + } ] + }, { + "id" : "inbound.auth.username", + "label" : "Username", + "description" : "Username for basic authentication", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.username", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "BASIC", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.password", + "label" : "Password", + "description" : "Password for basic authentication", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.password", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "BASIC", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.apiKey", + "label" : "API key", + "description" : "Expected API key", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.apiKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "APIKEY", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.apiKeyLocator", + "label" : "API key locator", + "description" : "A FEEL expression that extracts API key from the request. See documentation", + "optional" : false, + "value" : "=split(request.headers.authorization, \" \")[2]", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.apiKeyLocator", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "APIKEY", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.jwkUrl", + "label" : "JWK URL", + "description" : "Well-known URL of JWKs", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.jwkUrl", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.permissionsExpression", + "label" : "JWT role property expression", + "description" : "Expression to extract the roles from the JWT token. See documentation", + "optional" : false, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.permissionsExpression", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.requiredPermissions", + "label" : "Required roles", + "description" : "List of roles to test JWT roles against", + "optional" : false, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.requiredPermissions", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.responseExpression", + "label" : "Response expression", + "description" : "Expression used to generate the HTTP response", + "optional" : true, + "feel" : "required", + "group" : "webhookResponse", + "binding" : { + "name" : "inbound.responseExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + }, { + "id" : "inbound.verificationExpression", + "label" : "One time verification response expression", + "description" : "Specify condition and response. Learn more in the documentation", + "optional" : true, + "feel" : "required", + "group" : "webhookResponse", + "binding" : { + "name" : "inbound.verificationExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/webhook/element-templates/hybrid/webhook-connector-start-event-hybrid.json b/connectors/webhook/element-templates/hybrid/webhook-connector-start-event-hybrid.json new file mode 100644 index 0000000000..c7c8608d3f --- /dev/null +++ b/connectors/webhook/element-templates/hybrid/webhook-connector-start-event-hybrid.json @@ -0,0 +1,398 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Webhook Start Event Connector", + "id" : "io.camunda.connectors.webhook.WebhookConnector.v1-hybrid", + "description" : "Configure webhook to receive callbacks", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/", + "version" : 11, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "endpoint", + "label" : "Webhook configuration" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "authorization", + "label" : "Authorization" + }, { + "id" : "webhookResponse", + "label" : "Webhook response" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:webhook:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.method", + "label" : "Webhook method", + "description" : "Select HTTP method", + "optional" : false, + "value" : "any", + "group" : "endpoint", + "binding" : { + "name" : "inbound.method", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Any", + "value" : "any" + }, { + "name" : "GET", + "value" : "get" + }, { + "name" : "POST", + "value" : "post" + }, { + "name" : "PUT", + "value" : "put" + }, { + "name" : "DELETE", + "value" : "delete" + } ] + }, { + "id" : "inbound.context", + "label" : "Webhook ID", + "description" : "The webhook ID is a part of the URL", + "optional" : false, + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$", + "message" : "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen" + } + }, + "group" : "endpoint", + "binding" : { + "name" : "inbound.context", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.shouldValidateHmac", + "label" : "HMAC authentication", + "description" : "Choose whether HMAC verification is enabled. See documentation and example that explains how to use HMAC-related fields", + "optional" : false, + "value" : "disabled", + "group" : "authentication", + "binding" : { + "name" : "inbound.shouldValidateHmac", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Enabled", + "value" : "enabled" + }, { + "name" : "Disabled", + "value" : "disabled" + } ] + }, { + "id" : "inbound.hmacSecret", + "label" : "HMAC secret key", + "description" : "Shared secret key", + "optional" : true, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacSecret", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.hmacHeader", + "label" : "HMAC header", + "description" : "Name of header attribute that will contain the HMAC value", + "optional" : true, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacHeader", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.hmacAlgorithm", + "label" : "HMAC algorithm", + "description" : "Choose HMAC algorithm", + "optional" : false, + "value" : "sha_256", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacAlgorithm", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "SHA-1", + "value" : "sha_1" + }, { + "name" : "SHA-256", + "value" : "sha_256" + }, { + "name" : "SHA-512", + "value" : "sha_512" + } ] + }, { + "id" : "inbound.hmacScopes", + "label" : "HMAC scopes", + "description" : "Set HMAC scopes for calculating signature data. See documentation", + "optional" : true, + "feel" : "required", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacScopes", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.type", + "label" : "Authorization type", + "description" : "Choose the authorization type", + "value" : "NONE", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.type", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Basic", + "value" : "BASIC" + }, { + "name" : "API key", + "value" : "APIKEY" + }, { + "name" : "None", + "value" : "NONE" + }, { + "name" : "JWT", + "value" : "JWT" + } ] + }, { + "id" : "inbound.auth.username", + "label" : "Username", + "description" : "Username for basic authentication", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.username", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "BASIC", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.password", + "label" : "Password", + "description" : "Password for basic authentication", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.password", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "BASIC", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.apiKey", + "label" : "API key", + "description" : "Expected API key", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.apiKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "APIKEY", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.apiKeyLocator", + "label" : "API key locator", + "description" : "A FEEL expression that extracts API key from the request. See documentation", + "optional" : false, + "value" : "=split(request.headers.authorization, \" \")[2]", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.apiKeyLocator", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "APIKEY", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.jwkUrl", + "label" : "JWK URL", + "description" : "Well-known URL of JWKs", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.jwkUrl", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.permissionsExpression", + "label" : "JWT role property expression", + "description" : "Expression to extract the roles from the JWT token. See documentation", + "optional" : false, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.permissionsExpression", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.requiredPermissions", + "label" : "Required roles", + "description" : "List of roles to test JWT roles against", + "optional" : false, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.requiredPermissions", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.responseExpression", + "label" : "Response expression", + "description" : "Expression used to generate the HTTP response", + "optional" : true, + "feel" : "required", + "group" : "webhookResponse", + "binding" : { + "name" : "inbound.responseExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + }, { + "id" : "inbound.verificationExpression", + "label" : "One time verification response expression", + "description" : "Specify condition and response. Learn more in the documentation", + "optional" : true, + "feel" : "required", + "group" : "webhookResponse", + "binding" : { + "name" : "inbound.verificationExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/webhook/element-templates/hybrid/webhook-connector-start-message-hybrid.json b/connectors/webhook/element-templates/hybrid/webhook-connector-start-message-hybrid.json new file mode 100644 index 0000000000..fb91f6b90a --- /dev/null +++ b/connectors/webhook/element-templates/hybrid/webhook-connector-start-message-hybrid.json @@ -0,0 +1,481 @@ +{ + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Hybrid Webhook Message Start Event Connector", + "id" : "io.camunda.connectors.webhook.WebhookConnectorStartMessage.v1-hybrid", + "description" : "Configure webhook to receive callbacks", + "documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/http-webhook/", + "version" : 11, + "category" : { + "id" : "connectors", + "name" : "Connectors" + }, + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" + }, + "groups" : [ { + "id" : "connectorType", + "label" : "Connector type" + }, { + "id" : "endpoint", + "label" : "Webhook configuration" + }, { + "id" : "authentication", + "label" : "Authentication" + }, { + "id" : "authorization", + "label" : "Authorization" + }, { + "id" : "webhookResponse", + "label" : "Webhook response" + }, { + "id" : "activation", + "label" : "Activation" + }, { + "id" : "correlation", + "label" : "Correlation" + }, { + "id" : "output", + "label" : "Output mapping" + } ], + "properties" : [ { + "id" : "connectorType", + "value" : "io.camunda:webhook:1", + "group" : "connectorType", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.method", + "label" : "Webhook method", + "description" : "Select HTTP method", + "optional" : false, + "value" : "any", + "group" : "endpoint", + "binding" : { + "name" : "inbound.method", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Any", + "value" : "any" + }, { + "name" : "GET", + "value" : "get" + }, { + "name" : "POST", + "value" : "post" + }, { + "name" : "PUT", + "value" : "put" + }, { + "name" : "DELETE", + "value" : "delete" + } ] + }, { + "id" : "inbound.context", + "label" : "Webhook ID", + "description" : "The webhook ID is a part of the URL", + "optional" : false, + "constraints" : { + "notEmpty" : true, + "pattern" : { + "value" : "^[a-zA-Z0-9]+([-_][a-zA-Z0-9]+)*$", + "message" : "can only contain letters, numbers, or single underscores/hyphens and cannot begin or end with an underscore/hyphen" + } + }, + "group" : "endpoint", + "binding" : { + "name" : "inbound.context", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "inbound.shouldValidateHmac", + "label" : "HMAC authentication", + "description" : "Choose whether HMAC verification is enabled. See documentation and example that explains how to use HMAC-related fields", + "optional" : false, + "value" : "disabled", + "group" : "authentication", + "binding" : { + "name" : "inbound.shouldValidateHmac", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Enabled", + "value" : "enabled" + }, { + "name" : "Disabled", + "value" : "disabled" + } ] + }, { + "id" : "inbound.hmacSecret", + "label" : "HMAC secret key", + "description" : "Shared secret key", + "optional" : true, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacSecret", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.hmacHeader", + "label" : "HMAC header", + "description" : "Name of header attribute that will contain the HMAC value", + "optional" : true, + "feel" : "optional", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacHeader", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.hmacAlgorithm", + "label" : "HMAC algorithm", + "description" : "Choose HMAC algorithm", + "optional" : false, + "value" : "sha_256", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacAlgorithm", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "SHA-1", + "value" : "sha_1" + }, { + "name" : "SHA-256", + "value" : "sha_256" + }, { + "name" : "SHA-512", + "value" : "sha_512" + } ] + }, { + "id" : "inbound.hmacScopes", + "label" : "HMAC scopes", + "description" : "Set HMAC scopes for calculating signature data. See documentation", + "optional" : true, + "feel" : "required", + "group" : "authentication", + "binding" : { + "name" : "inbound.hmacScopes", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.shouldValidateHmac", + "equals" : "enabled", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.type", + "label" : "Authorization type", + "description" : "Choose the authorization type", + "value" : "NONE", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.type", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Basic", + "value" : "BASIC" + }, { + "name" : "API key", + "value" : "APIKEY" + }, { + "name" : "None", + "value" : "NONE" + }, { + "name" : "JWT", + "value" : "JWT" + } ] + }, { + "id" : "inbound.auth.username", + "label" : "Username", + "description" : "Username for basic authentication", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.username", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "BASIC", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.password", + "label" : "Password", + "description" : "Password for basic authentication", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.password", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "BASIC", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.apiKey", + "label" : "API key", + "description" : "Expected API key", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.apiKey", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "APIKEY", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.apiKeyLocator", + "label" : "API key locator", + "description" : "A FEEL expression that extracts API key from the request. See documentation", + "optional" : false, + "value" : "=split(request.headers.authorization, \" \")[2]", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.apiKeyLocator", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "APIKEY", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.jwkUrl", + "label" : "JWK URL", + "description" : "Well-known URL of JWKs", + "optional" : false, + "feel" : "optional", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.jwkUrl", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.permissionsExpression", + "label" : "JWT role property expression", + "description" : "Expression to extract the roles from the JWT token. See documentation", + "optional" : false, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.permissionsExpression", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.auth.jwt.requiredPermissions", + "label" : "Required roles", + "description" : "List of roles to test JWT roles against", + "optional" : false, + "feel" : "required", + "group" : "authorization", + "binding" : { + "name" : "inbound.auth.jwt.requiredPermissions", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "inbound.auth.type", + "equals" : "JWT", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "inbound.responseExpression", + "label" : "Response expression", + "description" : "Expression used to generate the HTTP response", + "optional" : true, + "feel" : "required", + "group" : "webhookResponse", + "binding" : { + "name" : "inbound.responseExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + }, { + "id" : "inbound.verificationExpression", + "label" : "One time verification response expression", + "description" : "Specify condition and response. Learn more in the documentation", + "optional" : true, + "feel" : "required", + "group" : "webhookResponse", + "binding" : { + "name" : "inbound.verificationExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + }, { + "id" : "activationCondition", + "label" : "Activation condition", + "description" : "Condition under which the Connector triggers. Leave empty to catch all events", + "optional" : true, + "feel" : "required", + "group" : "activation", + "binding" : { + "name" : "activationCondition", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "correlationRequired", + "label" : "Subprocess correlation required", + "description" : "Indicates whether correlation is required. This is needed for event-based subprocess message start events", + "value" : "notRequired", + "group" : "correlation", + "binding" : { + "name" : "correlationRequired", + "type" : "zeebe:property" + }, + "type" : "Dropdown", + "choices" : [ { + "name" : "Correlation not required", + "value" : "notRequired" + }, { + "name" : "Correlation required", + "value" : "required" + } ] + }, { + "id" : "correlationKeyProcess", + "label" : "Correlation key (process)", + "description" : "Sets up the correlation key from process variables", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKey", + "type" : "bpmn:Message#zeebe:subscription#property" + }, + "condition" : { + "property" : "correlationRequired", + "equals" : "required", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "correlationKeyPayload", + "label" : "Correlation key (payload)", + "description" : "Extracts the correlation key from the incoming message payload", + "constraints" : { + "notEmpty" : true + }, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "correlationKeyExpression", + "type" : "zeebe:property" + }, + "condition" : { + "property" : "correlationRequired", + "equals" : "required", + "type" : "simple" + }, + "type" : "String" + }, { + "id" : "messageIdExpression", + "label" : "Message ID expression", + "description" : "Expression to extract unique identifier of a message", + "optional" : true, + "feel" : "required", + "group" : "correlation", + "binding" : { + "name" : "messageIdExpression", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "messageNameUuid", + "generatedValue" : { + "type" : "uuid" + }, + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" + }, + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" + }, + "type" : "String" + }, { + "id" : "resultExpression", + "label" : "Result expression", + "description" : "Expression to map the response into process variables", + "feel" : "required", + "group" : "output", + "binding" : { + "name" : "resultExpression", + "type" : "zeebe:property" + }, + "type" : "Text" + } ], + "icon" : { + "contents" : "data:image/svg+xml;base64,PHN2ZyBpZD0naWNvbicgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCAzMiAzMic+CiAgPGRlZnM+CiAgICA8c3R5bGU+LmNscy0xIHsgZmlsbDogbm9uZTsgfTwvc3R5bGU+CiAgPC9kZWZzPgogIDxwYXRoCiAgICBkPSdNMjQsMjZhMywzLDAsMSwwLTIuODE2NC00SDEzdjFhNSw1LDAsMSwxLTUtNVYxNmE3LDcsMCwxLDAsNi45Mjg3LDhoNi4yNTQ5QTIuOTkxNCwyLjk5MTQsMCwwLDAsMjQsMjZaJy8+CiAgPHBhdGgKICAgIGQ9J00yNCwxNmE3LjAyNCw3LjAyNCwwLDAsMC0yLjU3LjQ4NzNsLTMuMTY1Ni01LjUzOTVhMy4wNDY5LDMuMDQ2OSwwLDEsMC0xLjczMjYuOTk4NWw0LjExODksNy4yMDg1Ljg2ODYtLjQ5NzZhNS4wMDA2LDUuMDAwNiwwLDEsMS0xLjg1MSw2Ljg0MThMMTcuOTM3LDI2LjUwMUE3LjAwMDUsNy4wMDA1LDAsMSwwLDI0LDE2WicvPgogIDxwYXRoCiAgICBkPSdNOC41MzIsMjAuMDUzN2EzLjAzLDMuMDMsMCwxLDAsMS43MzI2Ljk5ODVDMTEuNzQsMTguNDcsMTMuODYsMTQuNzYwNywxMy44OSwxNC43MDhsLjQ5NzYtLjg2ODItLjg2NzctLjQ5N2E1LDUsMCwxLDEsNi44MTItMS44NDM4bDEuNzMxNSwxLjAwMmE3LjAwMDgsNy4wMDA4LDAsMSwwLTEwLjM0NjIsMi4wMzU2Yy0uNDU3Ljc0MjctMS4xMDIxLDEuODcxNi0yLjA3MzcsMy41NzI4WicvPgogIDxyZWN0IGlkPSdfVHJhbnNwYXJlbnRfUmVjdGFuZ2xlXycgZGF0YS1uYW1lPScmbHQ7VHJhbnNwYXJlbnQgUmVjdGFuZ2xlJmd0OycgY2xhc3M9J2Nscy0xJwogICAgd2lkdGg9JzMyJyBoZWlnaHQ9JzMyJy8+Cjwvc3ZnPg==" + } +} \ No newline at end of file diff --git a/connectors/webhook/pom.xml b/connectors/webhook/pom.xml index 7b6ac2fb33..0a1e51f80a 100644 --- a/connectors/webhook/pom.xml +++ b/connectors/webhook/pom.xml @@ -104,6 +104,7 @@ webhook-connector-boundary.json + true diff --git a/element-template-generator/core/src/main/java/io/camunda/connector/generator/api/GeneratorConfiguration.java b/element-template-generator/core/src/main/java/io/camunda/connector/generator/api/GeneratorConfiguration.java index b8859cfab5..a63ef4023c 100644 --- a/element-template-generator/core/src/main/java/io/camunda/connector/generator/api/GeneratorConfiguration.java +++ b/element-template-generator/core/src/main/java/io/camunda/connector/generator/api/GeneratorConfiguration.java @@ -40,6 +40,9 @@ public enum ConnectorMode { HYBRID } + public static String HYBRID_TEMPLATE_ID_SUFFIX = "-hybrid"; + public static String HYBRID_TEMPLATE_NAME_PREFIX = "Hybrid "; + public enum GenerationFeature { INBOUND_DEDUPLICATION } diff --git a/element-template-generator/core/src/main/java/io/camunda/connector/generator/java/ClassBasedTemplateGenerator.java b/element-template-generator/core/src/main/java/io/camunda/connector/generator/java/ClassBasedTemplateGenerator.java index c2130e74ad..d77642a3d6 100644 --- a/element-template-generator/core/src/main/java/io/camunda/connector/generator/java/ClassBasedTemplateGenerator.java +++ b/element-template-generator/core/src/main/java/io/camunda/connector/generator/java/ClassBasedTemplateGenerator.java @@ -121,12 +121,11 @@ public List generate( context instanceof Outbound ? ElementTemplateBuilder.createOutbound() : ElementTemplateBuilder.createInbound(); + boolean isHybridMode = ConnectorMode.HYBRID.equals(configuration.connectorMode()); return builder - .id(createId(context, template.id(), elementType)) - .type( - context.connectorType(), - ConnectorMode.HYBRID.equals(configuration.connectorMode())) - .name(createName(context, template.name(), elementType)) + .id(createId(context, template.id(), elementType, isHybridMode)) + .type(context.connectorType(), isHybridMode) + .name(createName(context, template.name(), elementType, isHybridMode)) .version(template.version()) .appliesTo(elementType.appliesTo()) .elementType(elementType.elementType()) @@ -143,28 +142,42 @@ public List generate( } private static String createId( - TemplateGenerationContext context, String templateId, ConnectorElementType elementType) { - return Optional.ofNullable(elementType.templateIdOverride()) - .orElseGet( - () -> - context.elementTypes().size() > 1 - ? templateId + ":" + elementType.elementType().getId() - : templateId); + TemplateGenerationContext context, + String templateId, + ConnectorElementType elementType, + final boolean isHybridMode) { + String baseTemplateId = + Optional.ofNullable(elementType.templateIdOverride()) + .orElseGet( + () -> + context.elementTypes().size() > 1 + ? templateId + ":" + elementType.elementType().getId() + : templateId); + return isHybridMode + ? baseTemplateId + GeneratorConfiguration.HYBRID_TEMPLATE_ID_SUFFIX + : baseTemplateId; } private static String createName( - TemplateGenerationContext context, String templateName, ConnectorElementType elementType) { - return Optional.ofNullable(elementType.templateNameOverride()) - .orElseGet( - () -> { - if (context.elementTypes().size() > 1) { - return templateName - + " (" - + camelCaseToSpaces(elementType.elementType().getId()) - + ")"; - } - return templateName; - }); + TemplateGenerationContext context, + String templateName, + ConnectorElementType elementType, + boolean isHybridMode) { + String baseTemplateName = + Optional.ofNullable(elementType.templateNameOverride()) + .orElseGet( + () -> { + if (context.elementTypes().size() > 1) { + return templateName + + " (" + + camelCaseToSpaces(elementType.elementType().getId()) + + ")"; + } + return templateName; + }); + return isHybridMode + ? GeneratorConfiguration.HYBRID_TEMPLATE_NAME_PREFIX + baseTemplateName + : baseTemplateName; } private List addServiceProperties( diff --git a/element-template-generator/maven-plugin/src/main/java/io/camunda/connector/generator/ElementTemplateGeneratorMojo.java b/element-template-generator/maven-plugin/src/main/java/io/camunda/connector/generator/ElementTemplateGeneratorMojo.java index eeea70ba98..0e922bee66 100644 --- a/element-template-generator/maven-plugin/src/main/java/io/camunda/connector/generator/ElementTemplateGeneratorMojo.java +++ b/element-template-generator/maven-plugin/src/main/java/io/camunda/connector/generator/ElementTemplateGeneratorMojo.java @@ -173,44 +173,32 @@ private void generateElementTemplates(ConnectorConfig config, ClassLoader classL private void writeElementTemplates( List templates, boolean hybrid, List fileNames) { - if (templates.size() == 1) { - var fileName = - fileNames.stream() - .filter(f -> f.getTemplateId().equals(templates.getFirst().id())) - .findFirst() - .map(FileNameById::getTemplateFileName) - .orElseGet( - () -> { - getLog() - .warn( - "No file name specified for " - + templates.getFirst().id() - + ". Using default."); - return transformConnectorNameToTemplateFileName(templates.getFirst().name()); - }); - if (hybrid) { - fileName = fileName.replace(".json", "-hybrid.json"); - } - writeElementTemplate(templates.getFirst(), hybrid, fileName); - } else { - for (var template : templates) { - var fileName = - fileNames.stream() - .filter(f -> f.getTemplateId().equals(template.id())) - .findFirst() - .map(FileNameById::getTemplateFileName) - .orElseGet( - () -> { - getLog() - .warn("No file name specified for " + template.id() + ". Using default."); - return transformConnectorNameToTemplateFileName(template.name()); - }); - if (hybrid) { - fileName = fileName.replace(".json", "-hybrid.json"); - } - writeElementTemplate(template, hybrid, fileName); - } + for (var template : templates) { + var fileName = determineFileName(template, fileNames, hybrid); + writeElementTemplate(template, hybrid, fileName); + } + } + + private String determineFileName( + ElementTemplate template, List fileNames, boolean hybrid) { + String expectedId = + hybrid && template.id() != null + ? template.id().replace(GeneratorConfiguration.HYBRID_TEMPLATE_ID_SUFFIX, "") + : template.id(); + String fileName = + fileNames.stream() + .filter(f -> f.getTemplateId().equals(expectedId)) + .findFirst() + .map(FileNameById::getTemplateFileName) + .orElseGet( + () -> { + getLog().warn("No file name specified for " + expectedId + ". Using default."); + return transformConnectorNameToTemplateFileName(template.name()); + }); + if (hybrid) { + fileName = fileName.replace(".json", "-hybrid.json"); } + return fileName; } private void writeElementTemplate(ElementTemplate template, boolean hybrid, String fileName) {