From 165d915aea67dafacce5df1a2f7c27b4e01ec026 Mon Sep 17 00:00:00 2001 From: Igor Petrov <108870003+igpetrov@users.noreply.github.com> Date: Tue, 2 Apr 2024 19:44:51 +0300 Subject: [PATCH] chore(inbound,sqs): move to generator (#2249) * chore(inbound,sqs): move to generator * fix(sqs): fixed correct template overrides Co-authored-by: Oleksii Ivanov <108869886+Oleksiivanov@users.noreply.github.com> * chore(inbound,sqs): corrected generator props --------- Co-authored-by: Oleksii Ivanov <108869886+Oleksiivanov@users.noreply.github.com> --- .../aws-sqs-boundary-connector.json | 499 ++++++++-------- ...ws-sqs-inbound-intermediate-connector.json | 500 ++++++++-------- .../aws-sqs-start-event-connector.json | 431 +++++++------- .../aws-sqs-start-message.json | 557 +++++++++--------- connectors/aws/aws-sqs/pom.xml | 21 + .../connector/inbound/MessageMapper.java | 35 +- .../connector/inbound/SqsExecutable.java | 44 +- .../connector/inbound/SqsQueueConsumer.java | 14 +- .../model/SqsInboundQueueProperties.java | 142 ++--- .../model/message/MessageAttributeValue.java | 93 +-- .../model/message/SqsInboundMessage.java | 128 +--- .../connector/inbound/MessageMapperTest.java | 31 +- .../inbound/SqsQueueConsumerTest.java | 12 +- 13 files changed, 1141 insertions(+), 1366 deletions(-) diff --git a/connectors/aws/aws-sqs/element-templates/aws-sqs-boundary-connector.json b/connectors/aws/aws-sqs/element-templates/aws-sqs-boundary-connector.json index 35b786dae7..920588e153 100644 --- a/connectors/aws/aws-sqs/element-templates/aws-sqs-boundary-connector.json +++ b/connectors/aws/aws-sqs/element-templates/aws-sqs-boundary-connector.json @@ -1,277 +1,274 @@ { - "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name": "Amazon SQS Boundary Event Connector", - "id": "io.camunda.connectors.AWSSQS.boundary.v1", - "version": 3, - "description": "Receive message from a queue", - "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", - "appliesTo": [ - "bpmn:BoundaryEvent" - ], - "elementType": { - "value": "bpmn:BoundaryEvent", - "eventDefinition": "bpmn:MessageEventDefinition" + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Amazon SQS Boundary Event Connector", + "id" : "io.camunda.connectors.AWSSQS.boundary.v1", + "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" }, - "category": { - "id": "connectors", - "name": "Connectors" + "appliesTo" : [ "bpmn:BoundaryEvent" ], + "elementType" : { + "value" : "bpmn:BoundaryEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" }, - "groups": [ - { - "id": "authentication", - "label": "Authentication" + "groups" : [ { + "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" : [ { + "value" : "io.camunda:aws-sqs-inbound:1", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" }, - { - "id": "queueProperties", - "label": "Queue properties" + "type" : "Hidden" + }, { + "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" }, - { - "id": "messagePollingProperties", - "label": "Message polling properties" + "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 }, - { - "id": "input", - "label": "Use next attribute names for activation condition" + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:property" }, - { - "id": "activation", - "label": "Activation" + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" }, - { - "id": "variable-mapping", - "label": "Variable mapping" - } - ], - "properties": [ - { - "type": "Hidden", - "value": "io.camunda:aws-sqs-inbound:1", - "binding": { - "type": "zeebe:property", - "name": "inbound.type" - } + "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 }, - { - "type": "Hidden", - "generatedValue": { - "type": "uuid" - }, - "binding": { - "type": "bpmn:Message#property", - "name": "name" - } + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:property" }, - { - "id": "authenticationType", - "label": "Authentication", - "description": "Specify AWS authentication strategy. Learn more at the documentation page", - "group": "authentication", - "type": "Dropdown", - "optional": false, - "value": "credentials", - "choices": [ - { - "name": "Credentials", - "value": "credentials" - }, - { - "name": "Default Credentials Chain (Hybrid/Self-Managed only)", - "value": "defaultCredentialsChain" - } - ], - "binding": { - "type": "zeebe:property", - "name": "authentication.type" - }, - "constraints": { - "notEmpty": true - } + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" }, - { - "label": "Access key", - "description": "Provide AWS IAM access key that has permission to read from desired SQS", - "group": "authentication", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "authentication.accessKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "authenticationType", - "equals": "credentials" - } + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true }, - { - "label": "Secret key", - "description": "Provide AWS IAM secret key that has permission to read from desired SQS", - "group": "authentication", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "authentication.secretKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "authenticationType", - "equals": "credentials" - } + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:property" }, - { - "label": "Queue URL", - "description": "Specify the URL of the SQS queue where you would like to subscribe to", - "group": "queueProperties", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "queue.url" - }, - "constraints": { - "notEmpty": true, - "pattern": { - "value": "^(https?://.+|arn:.+|\\{\\{secrets\\..+\\}\\}.*)$", - "message": "Must be an queue URL or ARN" - } - } + "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" }, - { - "label": "Region", - "description": "Specify the AWS region of your queue", - "group": "queueProperties", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "configuration.region" - }, - "constraints": { - "notEmpty": true - } + "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" }, - { - "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", - "group": "messagePollingProperties", - "type": "String", - "optional":false, - "feel":"optional", - "value": "20", - "binding": { - "type": "zeebe:property", - "name": "queue.pollingWaitTime" - }, - "constraints": { - "notEmpty": true, - "pattern": { - "value": "^([0-9]?|1[0-9]|20|\\{\\{secrets\\..+\\}\\}.*)$", - "message": "Must be >= 0 and <= 20 or a FEEL expression" - } + "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\\..+)$" } }, - { - "label": "Attribute names", - "description": "Array of queue attribute names. See documentation for details", - "group": "input", - "type": "String", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "queue.attributeNames" - }, - "feel": "required" + "group" : "messagePollingProperties", + "binding" : { + "name" : "queue.pollingWaitTime", + "type" : "zeebe:property" }, - { - "label": "Message attribute names", - "description": "Array of message attribute names. See documentation for details", - "group": "input", - "type": "String", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "queue.messageAttributeNames" - }, - "feel": "required" + "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" }, - { - "label": "Correlation key (process)", - "type": "String", - "group": "activation", - "feel": "required", - "description": "Sets up the correlation key from process variables", - "binding": { - "type": "bpmn:Message#zeebe:subscription#property", - "name": "correlationKey" - }, - "constraints": { - "notEmpty": true - } + "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" }, - { - "label": "Correlation key (payload)", - "type": "String", - "group": "activation", - "feel": "required", - "binding": { - "type": "zeebe:property", - "name": "correlationKeyExpression" - }, - "description": "Extracts the correlation key from the incoming message payload", - "constraints": { - "notEmpty": true - } + "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" }, - { - "label": "Message ID expression", - "feel": "required", - "type": "String", - "optional": true, - "group": "activation", - "binding": { - "type": "zeebe:property", - "name": "messageIdExpression" - }, - "description": "Expression to extract unique identifier of a message" + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" }, - { - "label": "Activation condition", - "type": "String", - "group": "activation", - "feel": "required", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "activationCondition" - }, - "description": "Condition under which the connector triggers. Leave empty to catch all events" + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" }, - { - "label": "Result variable", - "type": "String", - "group": "variable-mapping", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "resultVariable" - }, - "description": "Name of variable to store the result of the connector in" + "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" }, - { - "label": "Result expression", - "type": "String", - "group": "variable-mapping", - "feel": "required", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "resultExpression" - }, - "description": "Expression to map the inbound payload to process variables" - } - ], - "icon": { - "contents": "data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 40 40' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: Sketch 64 (93537) - https://sketch.com --%3E%3Ctitle%3EIcon-Architecture/32/Arch_AWS-Simple-Queue-Service_32%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cdefs%3E%3ClinearGradient x1='0%25' y1='100%25' x2='100%25' y2='0%25' id='linearGradient-1'%3E%3Cstop stop-color='%23B0084D' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23FF4F8B' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Icon-Architecture/32/Arch_AWS-Simple-Queue-Service_32' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Icon-Architecture-BG/32/Application-Integration' fill='url(%23linearGradient-1)'%3E%3Crect id='Rectangle' x='0' y='0' width='40' height='40'%3E%3C/rect%3E%3C/g%3E%3Cpath d='M14.3422051,22.3493786 L15.8466767,20.9061074 C15.9428347,20.8141539 15.9969235,20.687218 15.9999285,20.5552846 C16.0019317,20.4223517 15.9518495,20.2934168 15.8596981,20.1984648 L14.3552264,18.6432502 L13.6350433,19.3378994 L14.311154,20.037546 L11.9913429,20.037546 L11.9913429,21.0370413 L14.2650783,21.0370413 L13.6480647,21.6287425 L14.3422051,22.3493786 Z M26.3579452,22.3533765 L27.9074909,20.9001104 C28.0066538,20.8081569 28.0627459,20.679222 28.0647492,20.5442901 C28.0667525,20.4093583 28.0136653,20.2784244 27.918509,20.1834724 L26.3689633,18.6372532 L25.6607999,19.3438963 L26.3549403,20.037546 L24.0110896,20.037546 L24.0110896,21.0370413 L26.2988481,21.0370413 L25.671818,21.6247445 L26.3579452,22.3533765 Z M17.5875367,23.3608678 C18.3387708,23.0570212 19.1621235,22.8941035 20.0045074,22.8941035 C20.8468913,22.8941035 21.670244,23.0570212 22.4214781,23.3608678 C21.7523789,21.5897622 21.7523789,19.3898731 22.4214781,17.6187675 C20.9190098,18.2264606 19.090005,18.2264606 17.5875367,17.6187675 C18.2566359,19.3898731 18.2566359,21.5897622 17.5875367,23.3608678 L17.5875367,23.3608678 Z M15.6443443,25.3408679 C15.546183,25.2439168 15.4971024,25.1159814 15.4971024,24.988046 C15.4971024,24.8601106 15.546183,24.7321753 15.6443443,24.6342247 C17.5845317,22.6982024 17.5845317,18.2824324 15.6443443,16.3454106 C15.546183,16.2484595 15.4971024,16.1205241 15.4971024,15.9925912 C15.4971024,15.8646534 15.546183,15.736718 15.6443443,15.6387674 C15.8396652,15.4438659 16.1571868,15.4438659 16.3525077,15.6387674 C17.2740216,16.5583031 18.6052086,17.0860366 20.0045074,17.0860366 C21.4048079,17.0860366 22.7359948,16.5583031 23.6575088,15.6387674 C23.8528296,15.4438659 24.1703513,15.4438659 24.3656722,15.6387674 C24.4628318,15.736718 24.5119124,15.8646534 24.5119124,15.9925912 C24.5119124,16.1205241 24.4628318,16.2484595 24.3656722,16.3454106 C22.4244831,18.2824324 22.4244831,22.6982024 24.3656722,24.6342247 C24.4628318,24.7321753 24.5119124,24.8601106 24.5119124,24.988046 C24.5119124,25.1159814 24.4628318,25.2439168 24.3656722,25.3408679 C24.2675109,25.4388184 24.1393003,25.4877937 24.0110896,25.4877937 C23.882879,25.4877937 23.7546684,25.4388184 23.6575088,25.3408679 C22.7359948,24.4213322 21.4048079,23.8935987 20.0045074,23.8935987 C18.6052086,23.8935987 17.2740216,24.4213322 16.3525077,25.3408679 C16.1571868,25.5357694 15.8396652,25.5357694 15.6443443,25.3408679 L15.6443443,25.3408679 Z M32.5421049,19.4358499 C32.236603,19.1320033 31.8369464,18.9800801 31.4362882,18.9800801 C31.0366316,18.9800801 30.636975,19.1320033 30.3314731,19.4358499 C29.721471,20.0445425 29.721471,21.0340428 30.3314731,21.6417359 C30.9414753,22.2504285 31.9321027,22.2504285 32.5421049,21.6417359 C33.1511054,21.0340428 33.1511054,20.0445425 32.5421049,19.4358499 L32.5421049,19.4358499 Z M33.2502683,22.3493786 C32.7504472,22.8481267 32.0933677,23.0980005 31.4362882,23.0980005 C30.7802103,23.0980005 30.1231309,22.8481267 29.6233097,22.3493786 C28.6236675,21.3508828 28.6236675,19.7277025 29.6233097,18.7292068 C30.622952,17.7317105 32.250626,17.7317105 33.2502683,18.7292068 C34.2499106,19.7277025 34.2499106,21.3508828 33.2502683,22.3493786 L33.2502683,22.3493786 Z M9.66852687,19.4468443 C9.36302497,19.1429978 8.96336839,18.9910745 8.56271017,18.9910745 C8.16305359,18.9910745 7.76339701,19.1429978 7.45789511,19.4468443 C6.84889461,20.055537 6.84889461,21.0450373 7.45789511,21.6527304 C8.06789726,22.261423 9.05852472,22.261423 9.66852687,21.6527304 C10.2775274,21.0450373 10.2775274,20.055537 9.66852687,19.4468443 L9.66852687,19.4468443 Z M10.3766903,22.3593735 C9.87686914,22.8581217 9.21978965,23.1079955 8.56271017,23.1079955 C7.90663232,23.1079955 7.24955284,22.8581217 6.7497317,22.3593735 C5.75008943,21.3618773 5.75008943,19.738697 6.7497317,18.7402012 C7.74937397,17.7427049 9.37704801,17.7427049 10.3766903,18.7402012 C11.3763325,19.738697 11.3763325,21.3618773 10.3766903,22.3593735 L10.3766903,22.3593735 Z M27.4337125,28.9100654 C25.4364313,30.903059 22.7820705,32.0005047 19.9574301,32.0005047 C17.1327896,32.0005047 14.4784288,30.903059 12.4821492,28.9100654 C11.165987,27.5977281 10.4077413,26.469298 9.94498104,25.1359713 L8.99842599,25.4628063 C9.50726193,26.9290658 10.3626672,28.2104187 11.7739858,29.6167086 C13.9585748,31.7986067 16.8663519,33 19.9574301,33 C23.0495099,33 25.9562853,31.7986067 28.1418759,29.6167086 C29.2827502,28.4782835 30.4206196,27.1869356 31.0115905,25.4608073 L30.0640338,25.1379703 C29.5391715,26.6701966 28.4894469,27.8565974 27.4337125,28.9100654 L27.4337125,28.9100654 Z M9.94498104,15.8596559 L8.99842599,15.5318214 C9.51026687,14.0645624 10.3656722,12.7832095 11.7759891,11.3759202 C16.2863991,6.87519304 23.6264578,6.87419354 28.1378694,11.3759202 C29.2186449,12.4533761 30.4035916,13.7897012 31.0115905,15.5318214 L30.0640338,15.8596559 C29.5241468,14.3094387 28.4293482,13.0800596 27.4297059,12.0825633 C25.434428,10.0915688 22.7810689,8.99612197 19.9574301,8.99612197 C17.1337912,8.99612197 14.4804321,10.0915688 12.4851542,12.0825633 C11.1870215,13.3779092 10.4037347,14.5423211 9.94498104,15.8596559 L9.94498104,15.8596559 Z' id='AWS-Simple-Queue-Service_Icon_32_Squid' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + "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/aws-sqs-inbound-intermediate-connector.json b/connectors/aws/aws-sqs/element-templates/aws-sqs-inbound-intermediate-connector.json index 06a8300157..89d298a605 100644 --- a/connectors/aws/aws-sqs/element-templates/aws-sqs-inbound-intermediate-connector.json +++ b/connectors/aws/aws-sqs/element-templates/aws-sqs-inbound-intermediate-connector.json @@ -1,278 +1,274 @@ { - "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name": "Amazon SQS Intermediate Message Catch Event connector", - "id": "io.camunda.connectors.AWSSQS.intermediate.v1", - "version": 8, - "description": "Receive message from a queue", - "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", - "appliesTo": [ - "bpmn:IntermediateCatchEvent", - "bpmn:IntermediateThrowEvent" - ], - "elementType": { - "value": "bpmn:IntermediateCatchEvent", - "eventDefinition": "bpmn:MessageEventDefinition" + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Amazon SQS Intermediate Message Catch Event connector", + "id" : "io.camunda.connectors.AWSSQS.intermediate.v1", + "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" }, - "category": { - "id": "connectors", - "name": "Connectors" + "appliesTo" : [ "bpmn:IntermediateCatchEvent", "bpmn:IntermediateThrowEvent" ], + "elementType" : { + "value" : "bpmn:IntermediateCatchEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" }, - "groups": [ - { - "id": "authentication", - "label": "Authentication" + "groups" : [ { + "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" : [ { + "value" : "io.camunda:aws-sqs-inbound:1", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" }, - { - "id": "queueProperties", - "label": "Queue properties" + "type" : "Hidden" + }, { + "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" }, - { - "id": "messagePollingProperties", - "label": "Message polling properties" + "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 }, - { - "id": "input", - "label": "Use next attribute names for activation condition" + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:property" }, - { - "id": "activation", - "label": "Activation" + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" }, - { - "id": "variable-mapping", - "label": "Variable mapping" - } - ], - "properties": [ - { - "type": "Hidden", - "value": "io.camunda:aws-sqs-inbound:1", - "binding": { - "type": "zeebe:property", - "name": "inbound.type" - } + "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 }, - { - "type": "Hidden", - "generatedValue": { - "type": "uuid" - }, - "binding": { - "type": "bpmn:Message#property", - "name": "name" - } + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:property" }, - { - "id": "authenticationType", - "label": "Authentication", - "description": "Specify AWS authentication strategy. Learn more at the documentation page", - "group": "authentication", - "type": "Dropdown", - "optional": false, - "value": "credentials", - "choices": [ - { - "name": "Credentials", - "value": "credentials" - }, - { - "name": "Default Credentials Chain (Hybrid/Self-Managed only)", - "value": "defaultCredentialsChain" - } - ], - "binding": { - "type": "zeebe:property", - "name": "authentication.type" - }, - "constraints": { - "notEmpty": true - } + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" }, - { - "label": "Access key", - "description": "Provide AWS IAM access key that has permission to read from desired SQS", - "group": "authentication", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "authentication.accessKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "authenticationType", - "equals": "credentials" - } + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true }, - { - "label": "Secret key", - "description": "Provide AWS IAM secret key that has permission to read from desired SQS", - "group": "authentication", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "authentication.secretKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "authenticationType", - "equals": "credentials" - } + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:property" }, - { - "label": "Queue URL", - "description": "Specify the URL of the SQS queue where you would like to subscribe to", - "group": "queueProperties", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "queue.url" - }, - "constraints": { - "notEmpty": true, - "pattern": { - "value": "^(https?://.+|arn:.+|\\{\\{secrets\\..+\\}\\}.*)$", - "message": "Must be an queue URL or ARN" - } - } + "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" }, - { - "label": "Region", - "description": "Specify the AWS region of your queue", - "group": "queueProperties", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "configuration.region" - }, - "constraints": { - "notEmpty": true - } + "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" }, - { - "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", - "group": "messagePollingProperties", - "type": "String", - "optional":false, - "feel":"optional", - "value": "20", - "binding": { - "type": "zeebe:property", - "name": "queue.pollingWaitTime" - }, - "constraints": { - "notEmpty": true, - "pattern": { - "value": "^([0-9]?|1[0-9]|20|\\{\\{secrets\\..+\\}\\}.*)$", - "message": "Must be >= 0 and <= 20 or a FEEL expression" - } + "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\\..+)$" } }, - { - "label": "Attribute names", - "description": "Array of queue attribute names. See documentation for details", - "group": "input", - "type": "String", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "queue.attributeNames" - }, - "feel": "required" + "group" : "messagePollingProperties", + "binding" : { + "name" : "queue.pollingWaitTime", + "type" : "zeebe:property" }, - { - "label": "Message attribute names", - "description": "Array of message attribute names. See documentation for details", - "group": "input", - "type": "String", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "queue.messageAttributeNames" - }, - "feel": "required" + "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" }, - { - "label": "Correlation key (process)", - "type": "String", - "group": "activation", - "feel": "required", - "description": "Sets up the correlation key from process variables", - "binding": { - "type": "bpmn:Message#zeebe:subscription#property", - "name": "correlationKey" - }, - "constraints": { - "notEmpty": true - } + "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" }, - { - "label": "Correlation key (payload)", - "type": "String", - "group": "activation", - "feel": "required", - "binding": { - "type": "zeebe:property", - "name": "correlationKeyExpression" - }, - "description": "Extracts the correlation key from the incoming message payload", - "constraints": { - "notEmpty": true - } + "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" }, - { - "label": "Message ID expression", - "feel": "required", - "type": "String", - "optional": true, - "group": "activation", - "binding": { - "type": "zeebe:property", - "name": "messageIdExpression" - }, - "description": "Expression to extract unique identifier of a message" + "group" : "correlation", + "binding" : { + "name" : "name", + "type" : "bpmn:Message#property" }, - { - "label": "Activation condition", - "type": "String", - "group": "activation", - "feel": "required", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "activationCondition" - }, - "description": "Condition under which the connector triggers. Leave empty to catch all events" + "type" : "Hidden" + }, { + "id" : "resultVariable", + "label" : "Result variable", + "description" : "Name of variable to store the response in", + "group" : "output", + "binding" : { + "name" : "resultVariable", + "type" : "zeebe:property" }, - { - "label": "Result variable", - "type": "String", - "group": "variable-mapping", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "resultVariable" - }, - "description": "Name of variable to store the result of the connector in" + "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" }, - { - "label": "Result expression", - "type": "String", - "group": "variable-mapping", - "feel": "required", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "resultExpression" - }, - "description": "Expression to map the inbound payload to process variables" - } - ], - "icon": { - "contents": "data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 40 40' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: Sketch 64 (93537) - https://sketch.com --%3E%3Ctitle%3EIcon-Architecture/32/Arch_AWS-Simple-Queue-Service_32%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cdefs%3E%3ClinearGradient x1='0%25' y1='100%25' x2='100%25' y2='0%25' id='linearGradient-1'%3E%3Cstop stop-color='%23B0084D' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23FF4F8B' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Icon-Architecture/32/Arch_AWS-Simple-Queue-Service_32' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Icon-Architecture-BG/32/Application-Integration' fill='url(%23linearGradient-1)'%3E%3Crect id='Rectangle' x='0' y='0' width='40' height='40'%3E%3C/rect%3E%3C/g%3E%3Cpath d='M14.3422051,22.3493786 L15.8466767,20.9061074 C15.9428347,20.8141539 15.9969235,20.687218 15.9999285,20.5552846 C16.0019317,20.4223517 15.9518495,20.2934168 15.8596981,20.1984648 L14.3552264,18.6432502 L13.6350433,19.3378994 L14.311154,20.037546 L11.9913429,20.037546 L11.9913429,21.0370413 L14.2650783,21.0370413 L13.6480647,21.6287425 L14.3422051,22.3493786 Z M26.3579452,22.3533765 L27.9074909,20.9001104 C28.0066538,20.8081569 28.0627459,20.679222 28.0647492,20.5442901 C28.0667525,20.4093583 28.0136653,20.2784244 27.918509,20.1834724 L26.3689633,18.6372532 L25.6607999,19.3438963 L26.3549403,20.037546 L24.0110896,20.037546 L24.0110896,21.0370413 L26.2988481,21.0370413 L25.671818,21.6247445 L26.3579452,22.3533765 Z M17.5875367,23.3608678 C18.3387708,23.0570212 19.1621235,22.8941035 20.0045074,22.8941035 C20.8468913,22.8941035 21.670244,23.0570212 22.4214781,23.3608678 C21.7523789,21.5897622 21.7523789,19.3898731 22.4214781,17.6187675 C20.9190098,18.2264606 19.090005,18.2264606 17.5875367,17.6187675 C18.2566359,19.3898731 18.2566359,21.5897622 17.5875367,23.3608678 L17.5875367,23.3608678 Z M15.6443443,25.3408679 C15.546183,25.2439168 15.4971024,25.1159814 15.4971024,24.988046 C15.4971024,24.8601106 15.546183,24.7321753 15.6443443,24.6342247 C17.5845317,22.6982024 17.5845317,18.2824324 15.6443443,16.3454106 C15.546183,16.2484595 15.4971024,16.1205241 15.4971024,15.9925912 C15.4971024,15.8646534 15.546183,15.736718 15.6443443,15.6387674 C15.8396652,15.4438659 16.1571868,15.4438659 16.3525077,15.6387674 C17.2740216,16.5583031 18.6052086,17.0860366 20.0045074,17.0860366 C21.4048079,17.0860366 22.7359948,16.5583031 23.6575088,15.6387674 C23.8528296,15.4438659 24.1703513,15.4438659 24.3656722,15.6387674 C24.4628318,15.736718 24.5119124,15.8646534 24.5119124,15.9925912 C24.5119124,16.1205241 24.4628318,16.2484595 24.3656722,16.3454106 C22.4244831,18.2824324 22.4244831,22.6982024 24.3656722,24.6342247 C24.4628318,24.7321753 24.5119124,24.8601106 24.5119124,24.988046 C24.5119124,25.1159814 24.4628318,25.2439168 24.3656722,25.3408679 C24.2675109,25.4388184 24.1393003,25.4877937 24.0110896,25.4877937 C23.882879,25.4877937 23.7546684,25.4388184 23.6575088,25.3408679 C22.7359948,24.4213322 21.4048079,23.8935987 20.0045074,23.8935987 C18.6052086,23.8935987 17.2740216,24.4213322 16.3525077,25.3408679 C16.1571868,25.5357694 15.8396652,25.5357694 15.6443443,25.3408679 L15.6443443,25.3408679 Z M32.5421049,19.4358499 C32.236603,19.1320033 31.8369464,18.9800801 31.4362882,18.9800801 C31.0366316,18.9800801 30.636975,19.1320033 30.3314731,19.4358499 C29.721471,20.0445425 29.721471,21.0340428 30.3314731,21.6417359 C30.9414753,22.2504285 31.9321027,22.2504285 32.5421049,21.6417359 C33.1511054,21.0340428 33.1511054,20.0445425 32.5421049,19.4358499 L32.5421049,19.4358499 Z M33.2502683,22.3493786 C32.7504472,22.8481267 32.0933677,23.0980005 31.4362882,23.0980005 C30.7802103,23.0980005 30.1231309,22.8481267 29.6233097,22.3493786 C28.6236675,21.3508828 28.6236675,19.7277025 29.6233097,18.7292068 C30.622952,17.7317105 32.250626,17.7317105 33.2502683,18.7292068 C34.2499106,19.7277025 34.2499106,21.3508828 33.2502683,22.3493786 L33.2502683,22.3493786 Z M9.66852687,19.4468443 C9.36302497,19.1429978 8.96336839,18.9910745 8.56271017,18.9910745 C8.16305359,18.9910745 7.76339701,19.1429978 7.45789511,19.4468443 C6.84889461,20.055537 6.84889461,21.0450373 7.45789511,21.6527304 C8.06789726,22.261423 9.05852472,22.261423 9.66852687,21.6527304 C10.2775274,21.0450373 10.2775274,20.055537 9.66852687,19.4468443 L9.66852687,19.4468443 Z M10.3766903,22.3593735 C9.87686914,22.8581217 9.21978965,23.1079955 8.56271017,23.1079955 C7.90663232,23.1079955 7.24955284,22.8581217 6.7497317,22.3593735 C5.75008943,21.3618773 5.75008943,19.738697 6.7497317,18.7402012 C7.74937397,17.7427049 9.37704801,17.7427049 10.3766903,18.7402012 C11.3763325,19.738697 11.3763325,21.3618773 10.3766903,22.3593735 L10.3766903,22.3593735 Z M27.4337125,28.9100654 C25.4364313,30.903059 22.7820705,32.0005047 19.9574301,32.0005047 C17.1327896,32.0005047 14.4784288,30.903059 12.4821492,28.9100654 C11.165987,27.5977281 10.4077413,26.469298 9.94498104,25.1359713 L8.99842599,25.4628063 C9.50726193,26.9290658 10.3626672,28.2104187 11.7739858,29.6167086 C13.9585748,31.7986067 16.8663519,33 19.9574301,33 C23.0495099,33 25.9562853,31.7986067 28.1418759,29.6167086 C29.2827502,28.4782835 30.4206196,27.1869356 31.0115905,25.4608073 L30.0640338,25.1379703 C29.5391715,26.6701966 28.4894469,27.8565974 27.4337125,28.9100654 L27.4337125,28.9100654 Z M9.94498104,15.8596559 L8.99842599,15.5318214 C9.51026687,14.0645624 10.3656722,12.7832095 11.7759891,11.3759202 C16.2863991,6.87519304 23.6264578,6.87419354 28.1378694,11.3759202 C29.2186449,12.4533761 30.4035916,13.7897012 31.0115905,15.5318214 L30.0640338,15.8596559 C29.5241468,14.3094387 28.4293482,13.0800596 27.4297059,12.0825633 C25.434428,10.0915688 22.7810689,8.99612197 19.9574301,8.99612197 C17.1337912,8.99612197 14.4804321,10.0915688 12.4851542,12.0825633 C11.1870215,13.3779092 10.4037347,14.5423211 9.94498104,15.8596559 L9.94498104,15.8596559 Z' id='AWS-Simple-Queue-Service_Icon_32_Squid' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + "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/aws-sqs-start-event-connector.json b/connectors/aws/aws-sqs/element-templates/aws-sqs-start-event-connector.json index 99dab1a2cc..7e849e54c3 100644 --- a/connectors/aws/aws-sqs/element-templates/aws-sqs-start-event-connector.json +++ b/connectors/aws/aws-sqs/element-templates/aws-sqs-start-event-connector.json @@ -1,226 +1,219 @@ { - "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name": "Amazon SQS Start Event Connector", - "id": "io.camunda.connectors.AWSSQS.StartEvent.v1", - "version": 7, - "description": "Receive message from a queue", - "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", - "appliesTo": [ - "bpmn:StartEvent" - ], - "elementType": { - "value": "bpmn:StartEvent" + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Amazon SQS Start Event Connector", + "id" : "io.camunda.connectors.AWSSQS.StartEvent.v1", + "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" }, - "category": { - "id": "connectors", - "name": "Connectors" + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent" }, - "groups": [ - { - "id": "authentication", - "label": "Authentication" - }, - { - "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": "variable-mapping", - "label": "Variable mapping" - } - ], - "properties": [ - { - "type": "Hidden", - "value": "io.camunda:aws-sqs-inbound:1", - "binding": { - "type": "zeebe:property", - "name": "inbound.type" + "groups" : [ { + "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" : [ { + "value" : "io.camunda:aws-sqs-inbound:1", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" + }, + "type" : "Hidden" + }, { + "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\\..+)$" } }, - { - "id": "authenticationType", - "label": "Authentication", - "description": "Specify AWS authentication strategy. Learn more at the documentation page", - "group": "authentication", - "type": "Dropdown", - "optional": false, - "value": "credentials", - "choices": [ - { - "name": "Credentials", - "value": "credentials" - }, - { - "name": "Default Credentials Chain (Hybrid/Self-Managed only)", - "value": "defaultCredentialsChain" - } - ], - "binding": { - "type": "zeebe:property", - "name": "authentication.type" - }, - "constraints": { - "notEmpty": true - } - }, - { - "label": "Access key", - "description": "Provide AWS IAM access key that has permission to read from desired SQS", - "group": "authentication", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "authentication.accessKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "authenticationType", - "equals": "credentials" - } - }, - { - "label": "Secret key", - "description": "Provide AWS IAM secret key that has permission to read from desired SQS", - "group": "authentication", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "authentication.secretKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "authenticationType", - "equals": "credentials" - } - }, - { - "label": "Queue URL", - "description": "Specify the URL of the SQS queue where you would like to subscribe to", - "group": "queueProperties", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "queue.url" - }, - "constraints": { - "notEmpty": true, - "pattern": { - "value": "^(https?://.+|arn:.+|\\{\\{secrets\\..+\\}\\}.*)$", - "message": "Must be an queue URL or ARN" - } - } - }, - { - "label": "Region", - "description": "Specify the AWS region of your queue", - "group": "queueProperties", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "configuration.region" - }, - "constraints": { - "notEmpty": true - } - }, - { - "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", - "group": "messagePollingProperties", - "type": "String", - "optional":false, - "feel":"optional", - "value": "20", - "binding": { - "type": "zeebe:property", - "name": "queue.pollingWaitTime" - }, - "constraints": { - "notEmpty": true, - "pattern": { - "value": "^([0-9]?|1[0-9]|20|\\{\\{secrets\\..+\\}\\})$", - "message": "Must be >= 0 and <= 20 or a FEEL expression" - } - } - }, - { - "label": "Attribute names", - "description": "Array of queue attribute names. See documentation for details", - "group": "input", - "type": "String", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "queue.attributeNames" - }, - "feel": "required" - }, - { - "label": "Message attribute names", - "description": "Array of message attribute names. See documentation for details", - "group": "input", - "type": "String", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "queue.messageAttributeNames" - }, - "feel": "required" - }, - { - "label": "Activation condition", - "type": "String", - "group": "activation", - "feel": "required", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "activationCondition" - }, - "description": "Condition under which the connector triggers. Leave empty to catch all events" - }, - { - "label": "Result variable", - "type": "String", - "group": "variable-mapping", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "resultVariable" - }, - "description": "Name of variable to store the result of the connector in" - }, - { - "label": "Result expression", - "type": "String", - "group": "variable-mapping", - "feel": "required", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "resultExpression" - }, - "description": "Expression to map the inbound payload to process variables" - } - ], - "icon": { - "contents": "data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 40 40' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: Sketch 64 (93537) - https://sketch.com --%3E%3Ctitle%3EIcon-Architecture/32/Arch_AWS-Simple-Queue-Service_32%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cdefs%3E%3ClinearGradient x1='0%25' y1='100%25' x2='100%25' y2='0%25' id='linearGradient-1'%3E%3Cstop stop-color='%23B0084D' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23FF4F8B' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Icon-Architecture/32/Arch_AWS-Simple-Queue-Service_32' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Icon-Architecture-BG/32/Application-Integration' fill='url(%23linearGradient-1)'%3E%3Crect id='Rectangle' x='0' y='0' width='40' height='40'%3E%3C/rect%3E%3C/g%3E%3Cpath d='M14.3422051,22.3493786 L15.8466767,20.9061074 C15.9428347,20.8141539 15.9969235,20.687218 15.9999285,20.5552846 C16.0019317,20.4223517 15.9518495,20.2934168 15.8596981,20.1984648 L14.3552264,18.6432502 L13.6350433,19.3378994 L14.311154,20.037546 L11.9913429,20.037546 L11.9913429,21.0370413 L14.2650783,21.0370413 L13.6480647,21.6287425 L14.3422051,22.3493786 Z M26.3579452,22.3533765 L27.9074909,20.9001104 C28.0066538,20.8081569 28.0627459,20.679222 28.0647492,20.5442901 C28.0667525,20.4093583 28.0136653,20.2784244 27.918509,20.1834724 L26.3689633,18.6372532 L25.6607999,19.3438963 L26.3549403,20.037546 L24.0110896,20.037546 L24.0110896,21.0370413 L26.2988481,21.0370413 L25.671818,21.6247445 L26.3579452,22.3533765 Z M17.5875367,23.3608678 C18.3387708,23.0570212 19.1621235,22.8941035 20.0045074,22.8941035 C20.8468913,22.8941035 21.670244,23.0570212 22.4214781,23.3608678 C21.7523789,21.5897622 21.7523789,19.3898731 22.4214781,17.6187675 C20.9190098,18.2264606 19.090005,18.2264606 17.5875367,17.6187675 C18.2566359,19.3898731 18.2566359,21.5897622 17.5875367,23.3608678 L17.5875367,23.3608678 Z M15.6443443,25.3408679 C15.546183,25.2439168 15.4971024,25.1159814 15.4971024,24.988046 C15.4971024,24.8601106 15.546183,24.7321753 15.6443443,24.6342247 C17.5845317,22.6982024 17.5845317,18.2824324 15.6443443,16.3454106 C15.546183,16.2484595 15.4971024,16.1205241 15.4971024,15.9925912 C15.4971024,15.8646534 15.546183,15.736718 15.6443443,15.6387674 C15.8396652,15.4438659 16.1571868,15.4438659 16.3525077,15.6387674 C17.2740216,16.5583031 18.6052086,17.0860366 20.0045074,17.0860366 C21.4048079,17.0860366 22.7359948,16.5583031 23.6575088,15.6387674 C23.8528296,15.4438659 24.1703513,15.4438659 24.3656722,15.6387674 C24.4628318,15.736718 24.5119124,15.8646534 24.5119124,15.9925912 C24.5119124,16.1205241 24.4628318,16.2484595 24.3656722,16.3454106 C22.4244831,18.2824324 22.4244831,22.6982024 24.3656722,24.6342247 C24.4628318,24.7321753 24.5119124,24.8601106 24.5119124,24.988046 C24.5119124,25.1159814 24.4628318,25.2439168 24.3656722,25.3408679 C24.2675109,25.4388184 24.1393003,25.4877937 24.0110896,25.4877937 C23.882879,25.4877937 23.7546684,25.4388184 23.6575088,25.3408679 C22.7359948,24.4213322 21.4048079,23.8935987 20.0045074,23.8935987 C18.6052086,23.8935987 17.2740216,24.4213322 16.3525077,25.3408679 C16.1571868,25.5357694 15.8396652,25.5357694 15.6443443,25.3408679 L15.6443443,25.3408679 Z M32.5421049,19.4358499 C32.236603,19.1320033 31.8369464,18.9800801 31.4362882,18.9800801 C31.0366316,18.9800801 30.636975,19.1320033 30.3314731,19.4358499 C29.721471,20.0445425 29.721471,21.0340428 30.3314731,21.6417359 C30.9414753,22.2504285 31.9321027,22.2504285 32.5421049,21.6417359 C33.1511054,21.0340428 33.1511054,20.0445425 32.5421049,19.4358499 L32.5421049,19.4358499 Z M33.2502683,22.3493786 C32.7504472,22.8481267 32.0933677,23.0980005 31.4362882,23.0980005 C30.7802103,23.0980005 30.1231309,22.8481267 29.6233097,22.3493786 C28.6236675,21.3508828 28.6236675,19.7277025 29.6233097,18.7292068 C30.622952,17.7317105 32.250626,17.7317105 33.2502683,18.7292068 C34.2499106,19.7277025 34.2499106,21.3508828 33.2502683,22.3493786 L33.2502683,22.3493786 Z M9.66852687,19.4468443 C9.36302497,19.1429978 8.96336839,18.9910745 8.56271017,18.9910745 C8.16305359,18.9910745 7.76339701,19.1429978 7.45789511,19.4468443 C6.84889461,20.055537 6.84889461,21.0450373 7.45789511,21.6527304 C8.06789726,22.261423 9.05852472,22.261423 9.66852687,21.6527304 C10.2775274,21.0450373 10.2775274,20.055537 9.66852687,19.4468443 L9.66852687,19.4468443 Z M10.3766903,22.3593735 C9.87686914,22.8581217 9.21978965,23.1079955 8.56271017,23.1079955 C7.90663232,23.1079955 7.24955284,22.8581217 6.7497317,22.3593735 C5.75008943,21.3618773 5.75008943,19.738697 6.7497317,18.7402012 C7.74937397,17.7427049 9.37704801,17.7427049 10.3766903,18.7402012 C11.3763325,19.738697 11.3763325,21.3618773 10.3766903,22.3593735 L10.3766903,22.3593735 Z M27.4337125,28.9100654 C25.4364313,30.903059 22.7820705,32.0005047 19.9574301,32.0005047 C17.1327896,32.0005047 14.4784288,30.903059 12.4821492,28.9100654 C11.165987,27.5977281 10.4077413,26.469298 9.94498104,25.1359713 L8.99842599,25.4628063 C9.50726193,26.9290658 10.3626672,28.2104187 11.7739858,29.6167086 C13.9585748,31.7986067 16.8663519,33 19.9574301,33 C23.0495099,33 25.9562853,31.7986067 28.1418759,29.6167086 C29.2827502,28.4782835 30.4206196,27.1869356 31.0115905,25.4608073 L30.0640338,25.1379703 C29.5391715,26.6701966 28.4894469,27.8565974 27.4337125,28.9100654 L27.4337125,28.9100654 Z M9.94498104,15.8596559 L8.99842599,15.5318214 C9.51026687,14.0645624 10.3656722,12.7832095 11.7759891,11.3759202 C16.2863991,6.87519304 23.6264578,6.87419354 28.1378694,11.3759202 C29.2186449,12.4533761 30.4035916,13.7897012 31.0115905,15.5318214 L30.0640338,15.8596559 C29.5241468,14.3094387 28.4293482,13.0800596 27.4297059,12.0825633 C25.434428,10.0915688 22.7810689,8.99612197 19.9574301,8.99612197 C17.1337912,8.99612197 14.4804321,10.0915688 12.4851542,12.0825633 C11.1870215,13.3779092 10.4037347,14.5423211 9.94498104,15.8596559 L9.94498104,15.8596559 Z' id='AWS-Simple-Queue-Service_Icon_32_Squid' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + "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/aws-sqs-start-message.json b/connectors/aws/aws-sqs/element-templates/aws-sqs-start-message.json index 389946c544..33d557dc5c 100644 --- a/connectors/aws/aws-sqs/element-templates/aws-sqs-start-message.json +++ b/connectors/aws/aws-sqs/element-templates/aws-sqs-start-message.json @@ -1,311 +1,302 @@ { - "$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", - "name": "Amazon SQS Message Start Event Connector", - "id": "io.camunda.connectors.AWSSQS.startmessage.v1", - "version": 2, - "description": "Receive message from a queue", - "documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", - "appliesTo": [ - "bpmn:StartEvent" - ], - "elementType": { - "value": "bpmn:StartEvent", - "eventDefinition": "bpmn:MessageEventDefinition" + "$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", + "name" : "Amazon SQS Message Start Event Connector", + "id" : "io.camunda.connectors.AWSSQS.startmessage.v1", + "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" }, - "category": { - "id": "connectors", - "name": "Connectors" + "appliesTo" : [ "bpmn:StartEvent" ], + "elementType" : { + "value" : "bpmn:StartEvent", + "eventDefinition" : "bpmn:MessageEventDefinition" }, - "groups": [ - { - "id": "authentication", - "label": "Authentication" + "groups" : [ { + "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" : [ { + "value" : "io.camunda:aws-sqs-inbound:1", + "binding" : { + "name" : "inbound.type", + "type" : "zeebe:property" }, - { - "id": "queueProperties", - "label": "Queue properties" + "type" : "Hidden" + }, { + "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" }, - { - "id": "messagePollingProperties", - "label": "Message polling properties" + "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 }, - { - "id": "input", - "label": "Use next attribute names for activation condition" + "group" : "authentication", + "binding" : { + "name" : "authentication.accessKey", + "type" : "zeebe:property" }, - { - "id": "activation", - "label": "Activation" + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" }, - { - "id": "correlation", - "label": "Subprocess correlation" + "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 }, - { - "id": "variable-mapping", - "label": "Variable mapping" - } - ], - "properties": [ - { - "type": "Hidden", - "value": "io.camunda:aws-sqs-inbound:1", - "binding": { - "type": "zeebe:property", - "name": "inbound.type" - } + "group" : "authentication", + "binding" : { + "name" : "authentication.secretKey", + "type" : "zeebe:property" }, - { - "type": "Hidden", - "generatedValue": { - "type": "uuid" - }, - "binding": { - "type": "bpmn:Message#property", - "name": "name" - } + "condition" : { + "property" : "authentication.type", + "equals" : "credentials", + "type" : "simple" }, - { - "id": "authenticationType", - "label": "Authentication", - "description": "Specify AWS authentication strategy. Learn more at the documentation page", - "group": "authentication", - "type": "Dropdown", - "optional": false, - "value": "credentials", - "choices": [ - { - "name": "Credentials", - "value": "credentials" - }, - { - "name": "Default Credentials Chain (Hybrid/Self-Managed only)", - "value": "defaultCredentialsChain" - } - ], - "binding": { - "type": "zeebe:property", - "name": "authentication.type" - }, - "constraints": { - "notEmpty": true - } + "type" : "String" + }, { + "id" : "configuration.region", + "label" : "Region", + "description" : "Specify the AWS region", + "optional" : false, + "constraints" : { + "notEmpty" : true }, - { - "label": "Access key", - "description": "Provide AWS IAM access key that has permission to read from desired SQS", - "group": "authentication", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "authentication.accessKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "authenticationType", - "equals": "credentials" - } + "group" : "configuration", + "binding" : { + "name" : "configuration.region", + "type" : "zeebe:property" }, - { - "label": "Secret key", - "description": "Provide AWS IAM secret key that has permission to read from desired SQS", - "group": "authentication", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "authentication.secretKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "authenticationType", - "equals": "credentials" - } + "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" }, - { - "label": "Queue URL", - "description": "Specify the URL of the SQS queue where you would like to subscribe to", - "group": "queueProperties", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "queue.url" - }, - "constraints": { - "notEmpty": true, - "pattern": { - "value": "^(https?://.+|arn:.+|\\{\\{secrets\\..+\\}\\}.*)$", - "message": "Must be an queue URL or ARN" - } - } + "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 }, - { - "label": "Region", - "description": "Specify the AWS region of your queue", - "group": "queueProperties", - "type": "String", - "binding": { - "type": "zeebe:property", - "name": "configuration.region" - }, - "constraints": { - "notEmpty": true - } + "group" : "queueProperties", + "binding" : { + "name" : "queue.url", + "type" : "zeebe:property" }, - { - "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", - "group": "messagePollingProperties", - "type": "String", - "optional":false, - "feel":"optional", - "value": "20", - "binding": { - "type": "zeebe:property", - "name": "queue.pollingWaitTime" - }, - "constraints": { - "notEmpty": true, - "pattern": { - "value": "^([0-9]?|1[0-9]|20|\\{\\{secrets\\..+\\}\\}.*)$", - "message": "Must be >= 0 and <= 20 or a FEEL expression" - } + "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\\..+)$" } }, - { - "label": "Attribute names", - "description": "Array of queue attribute names. See documentation for details", - "group": "input", - "type": "String", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "queue.attributeNames" - }, - "feel": "required" + "group" : "messagePollingProperties", + "binding" : { + "name" : "queue.pollingWaitTime", + "type" : "zeebe:property" }, - { - "label": "Message attribute names", - "description": "Array of message attribute names. See documentation for details", - "group": "input", - "type": "String", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "queue.messageAttributeNames" - }, - "feel": "required" + "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" }, - { - "label": "Message ID expression", - "feel": "required", - "type": "String", - "optional": true, - "group": "activation", - "binding": { - "type": "zeebe:property", - "name": "messageIdExpression" - }, - "description": "Expression to extract unique identifier of a message" + "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" }, - { - "label": "Activation condition", - "type": "String", - "group": "activation", - "feel": "required", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "activationCondition" - }, - "description": "Condition under which the connector triggers. Leave empty to catch all events" + "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" }, - { - "label": "Correlation required", - "description": "Indicates whether correlation is required. This is needed for event-based subprocess message start events", - "id": "correlationRequired", - "group": "correlation", - "type": "Dropdown", - "value": "notRequired", - "choices": [ - { - "name": "Correlation not required", - "value": "notRequired" - }, - { - "name": "Correlation required", - "value": "required" - } - ], - "binding": { - "type": "zeebe:property", - "name": "correlationRequired" - } + "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" }, - { - "label": "Correlation key (process)", - "type": "String", - "group": "correlation", - "feel": "required", - "description": "Sets up the correlation key from process variables", - "binding": { - "type": "bpmn:Message#zeebe:subscription#property", - "name": "correlationKey" - }, - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "correlationRequired", - "equals": "required" - } + "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 }, - { - "label": "Correlation key (payload)", - "type": "String", - "group": "correlation", - "feel": "required", - "binding": { - "type": "zeebe:property", - "name": "correlationKeyExpression" - }, - "description": "Extracts the correlation key from the incoming message payload", - "constraints": { - "notEmpty": true - }, - "condition": { - "property": "correlationRequired", - "equals": "required" - } + "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" }, - { - "label": "Result variable", - "type": "String", - "group": "variable-mapping", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "resultVariable" - }, - "description": "Name of variable to store the result of the connector in" + "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" }, - { - "label": "Result expression", - "type": "String", - "group": "variable-mapping", - "feel": "required", - "optional": true, - "binding": { - "type": "zeebe:property", - "name": "resultExpression" - }, - "description": "Expression to map the inbound payload to process variables" - } - ], - "icon": { - "contents": "data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 40 40' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3C!-- Generator: Sketch 64 (93537) - https://sketch.com --%3E%3Ctitle%3EIcon-Architecture/32/Arch_AWS-Simple-Queue-Service_32%3C/title%3E%3Cdesc%3ECreated with Sketch.%3C/desc%3E%3Cdefs%3E%3ClinearGradient x1='0%25' y1='100%25' x2='100%25' y2='0%25' id='linearGradient-1'%3E%3Cstop stop-color='%23B0084D' offset='0%25'%3E%3C/stop%3E%3Cstop stop-color='%23FF4F8B' offset='100%25'%3E%3C/stop%3E%3C/linearGradient%3E%3C/defs%3E%3Cg id='Icon-Architecture/32/Arch_AWS-Simple-Queue-Service_32' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Icon-Architecture-BG/32/Application-Integration' fill='url(%23linearGradient-1)'%3E%3Crect id='Rectangle' x='0' y='0' width='40' height='40'%3E%3C/rect%3E%3C/g%3E%3Cpath d='M14.3422051,22.3493786 L15.8466767,20.9061074 C15.9428347,20.8141539 15.9969235,20.687218 15.9999285,20.5552846 C16.0019317,20.4223517 15.9518495,20.2934168 15.8596981,20.1984648 L14.3552264,18.6432502 L13.6350433,19.3378994 L14.311154,20.037546 L11.9913429,20.037546 L11.9913429,21.0370413 L14.2650783,21.0370413 L13.6480647,21.6287425 L14.3422051,22.3493786 Z M26.3579452,22.3533765 L27.9074909,20.9001104 C28.0066538,20.8081569 28.0627459,20.679222 28.0647492,20.5442901 C28.0667525,20.4093583 28.0136653,20.2784244 27.918509,20.1834724 L26.3689633,18.6372532 L25.6607999,19.3438963 L26.3549403,20.037546 L24.0110896,20.037546 L24.0110896,21.0370413 L26.2988481,21.0370413 L25.671818,21.6247445 L26.3579452,22.3533765 Z M17.5875367,23.3608678 C18.3387708,23.0570212 19.1621235,22.8941035 20.0045074,22.8941035 C20.8468913,22.8941035 21.670244,23.0570212 22.4214781,23.3608678 C21.7523789,21.5897622 21.7523789,19.3898731 22.4214781,17.6187675 C20.9190098,18.2264606 19.090005,18.2264606 17.5875367,17.6187675 C18.2566359,19.3898731 18.2566359,21.5897622 17.5875367,23.3608678 L17.5875367,23.3608678 Z M15.6443443,25.3408679 C15.546183,25.2439168 15.4971024,25.1159814 15.4971024,24.988046 C15.4971024,24.8601106 15.546183,24.7321753 15.6443443,24.6342247 C17.5845317,22.6982024 17.5845317,18.2824324 15.6443443,16.3454106 C15.546183,16.2484595 15.4971024,16.1205241 15.4971024,15.9925912 C15.4971024,15.8646534 15.546183,15.736718 15.6443443,15.6387674 C15.8396652,15.4438659 16.1571868,15.4438659 16.3525077,15.6387674 C17.2740216,16.5583031 18.6052086,17.0860366 20.0045074,17.0860366 C21.4048079,17.0860366 22.7359948,16.5583031 23.6575088,15.6387674 C23.8528296,15.4438659 24.1703513,15.4438659 24.3656722,15.6387674 C24.4628318,15.736718 24.5119124,15.8646534 24.5119124,15.9925912 C24.5119124,16.1205241 24.4628318,16.2484595 24.3656722,16.3454106 C22.4244831,18.2824324 22.4244831,22.6982024 24.3656722,24.6342247 C24.4628318,24.7321753 24.5119124,24.8601106 24.5119124,24.988046 C24.5119124,25.1159814 24.4628318,25.2439168 24.3656722,25.3408679 C24.2675109,25.4388184 24.1393003,25.4877937 24.0110896,25.4877937 C23.882879,25.4877937 23.7546684,25.4388184 23.6575088,25.3408679 C22.7359948,24.4213322 21.4048079,23.8935987 20.0045074,23.8935987 C18.6052086,23.8935987 17.2740216,24.4213322 16.3525077,25.3408679 C16.1571868,25.5357694 15.8396652,25.5357694 15.6443443,25.3408679 L15.6443443,25.3408679 Z M32.5421049,19.4358499 C32.236603,19.1320033 31.8369464,18.9800801 31.4362882,18.9800801 C31.0366316,18.9800801 30.636975,19.1320033 30.3314731,19.4358499 C29.721471,20.0445425 29.721471,21.0340428 30.3314731,21.6417359 C30.9414753,22.2504285 31.9321027,22.2504285 32.5421049,21.6417359 C33.1511054,21.0340428 33.1511054,20.0445425 32.5421049,19.4358499 L32.5421049,19.4358499 Z M33.2502683,22.3493786 C32.7504472,22.8481267 32.0933677,23.0980005 31.4362882,23.0980005 C30.7802103,23.0980005 30.1231309,22.8481267 29.6233097,22.3493786 C28.6236675,21.3508828 28.6236675,19.7277025 29.6233097,18.7292068 C30.622952,17.7317105 32.250626,17.7317105 33.2502683,18.7292068 C34.2499106,19.7277025 34.2499106,21.3508828 33.2502683,22.3493786 L33.2502683,22.3493786 Z M9.66852687,19.4468443 C9.36302497,19.1429978 8.96336839,18.9910745 8.56271017,18.9910745 C8.16305359,18.9910745 7.76339701,19.1429978 7.45789511,19.4468443 C6.84889461,20.055537 6.84889461,21.0450373 7.45789511,21.6527304 C8.06789726,22.261423 9.05852472,22.261423 9.66852687,21.6527304 C10.2775274,21.0450373 10.2775274,20.055537 9.66852687,19.4468443 L9.66852687,19.4468443 Z M10.3766903,22.3593735 C9.87686914,22.8581217 9.21978965,23.1079955 8.56271017,23.1079955 C7.90663232,23.1079955 7.24955284,22.8581217 6.7497317,22.3593735 C5.75008943,21.3618773 5.75008943,19.738697 6.7497317,18.7402012 C7.74937397,17.7427049 9.37704801,17.7427049 10.3766903,18.7402012 C11.3763325,19.738697 11.3763325,21.3618773 10.3766903,22.3593735 L10.3766903,22.3593735 Z M27.4337125,28.9100654 C25.4364313,30.903059 22.7820705,32.0005047 19.9574301,32.0005047 C17.1327896,32.0005047 14.4784288,30.903059 12.4821492,28.9100654 C11.165987,27.5977281 10.4077413,26.469298 9.94498104,25.1359713 L8.99842599,25.4628063 C9.50726193,26.9290658 10.3626672,28.2104187 11.7739858,29.6167086 C13.9585748,31.7986067 16.8663519,33 19.9574301,33 C23.0495099,33 25.9562853,31.7986067 28.1418759,29.6167086 C29.2827502,28.4782835 30.4206196,27.1869356 31.0115905,25.4608073 L30.0640338,25.1379703 C29.5391715,26.6701966 28.4894469,27.8565974 27.4337125,28.9100654 L27.4337125,28.9100654 Z M9.94498104,15.8596559 L8.99842599,15.5318214 C9.51026687,14.0645624 10.3656722,12.7832095 11.7759891,11.3759202 C16.2863991,6.87519304 23.6264578,6.87419354 28.1378694,11.3759202 C29.2186449,12.4533761 30.4035916,13.7897012 31.0115905,15.5318214 L30.0640338,15.8596559 C29.5241468,14.3094387 28.4293482,13.0800596 27.4297059,12.0825633 C25.434428,10.0915688 22.7810689,8.99612197 19.9574301,8.99612197 C17.1337912,8.99612197 14.4804321,10.0915688 12.4851542,12.0825633 C11.1870215,13.3779092 10.4037347,14.5423211 9.94498104,15.8596559 L9.94498104,15.8596559 Z' id='AWS-Simple-Queue-Service_Icon_32_Squid' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/svg%3E" + "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 12001d4fdf..bb9c636b8c 100644 --- a/connectors/aws/aws-sqs/pom.xml +++ b/connectors/aws/aws-sqs/pom.xml @@ -55,6 +55,27 @@ + + io.camunda.connector.inbound.SqsExecutable + + + io.camunda.connectors.AWSSQS.StartEvent.v1 + aws-sqs-start-event-connector.json + + + io.camunda.connectors.AWSSQS.startmessage.v1 + aws-sqs-start-message.json + + + io.camunda.connectors.AWSSQS.intermediate.v1 + aws-sqs-inbound-intermediate-connector.json + + + io.camunda.connectors.AWSSQS.boundary.v1 + aws-sqs-boundary-connector.json + + + io.camunda.connector:connector-aws-base diff --git a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/MessageMapper.java b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/MessageMapper.java index f56f5a9d16..4c648a8f41 100644 --- a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/MessageMapper.java +++ b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/MessageMapper.java @@ -20,12 +20,6 @@ public class MessageMapper { private static final Logger LOGGER = LoggerFactory.getLogger(MessageMapper.class); public static SqsInboundMessage toSqsInboundMessage(final Message message) { - SqsInboundMessage sqsInboundMessage = new SqsInboundMessage(); - sqsInboundMessage.setMessageId(message.getMessageId()); - sqsInboundMessage.setReceiptHandle(message.getReceiptHandle()); - sqsInboundMessage.setMD5OfMessageAttributes(message.getMD5OfMessageAttributes()); - sqsInboundMessage.setAttributes(message.getAttributes()); - Map sqsInboundMessageAttributes = new HashMap<>(); for (Map.Entry entry : @@ -35,12 +29,15 @@ public static SqsInboundMessage toSqsInboundMessage(final Message message) { sqsInboundMessageAttributes.put(entry.getKey(), sqsInboundMessageAttribute); } - sqsInboundMessage.setMessageAttributes(sqsInboundMessageAttributes); - - sqsInboundMessage.setBody(toObjectIfPossible(message.getBody())); - sqsInboundMessage.setmD5OfBody(message.getMD5OfBody()); - return sqsInboundMessage; + return new SqsInboundMessage( + message.getMessageId(), + message.getReceiptHandle(), + message.getMD5OfBody(), + toObjectIfPossible(message.getBody()), + message.getAttributes(), + message.getMD5OfMessageAttributes(), + sqsInboundMessageAttributes); } private static Object toObjectIfPossible(final String body) { @@ -54,15 +51,11 @@ private static Object toObjectIfPossible(final String body) { private static io.camunda.connector.inbound.model.message.MessageAttributeValue toSqsInboundMessageAttribute(final MessageAttributeValue attributeValue) { - io.camunda.connector.inbound.model.message.MessageAttributeValue sqsInboundMessageAttribute = - new io.camunda.connector.inbound.model.message.MessageAttributeValue(); - - sqsInboundMessageAttribute.setBinaryValue(attributeValue.getBinaryValue()); - sqsInboundMessageAttribute.setDataType(attributeValue.getDataType()); - sqsInboundMessageAttribute.setStringValue(attributeValue.getStringValue()); - sqsInboundMessageAttribute.setBinaryListValues(attributeValue.getBinaryListValues()); - sqsInboundMessageAttribute.setStringListValues(attributeValue.getStringListValues()); - - return sqsInboundMessageAttribute; + return new io.camunda.connector.inbound.model.message.MessageAttributeValue( + attributeValue.getStringValue(), + attributeValue.getBinaryValue(), + attributeValue.getStringListValues(), + attributeValue.getBinaryListValues(), + attributeValue.getDataType()); } } diff --git a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsExecutable.java b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsExecutable.java index 2fdca85721..b94e0b35df 100644 --- a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsExecutable.java +++ b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsExecutable.java @@ -14,6 +14,10 @@ import io.camunda.connector.aws.CredentialsProviderSupport; import io.camunda.connector.common.suppliers.AmazonSQSClientSupplier; import io.camunda.connector.common.suppliers.DefaultAmazonSQSClientSupplier; +import io.camunda.connector.generator.dsl.BpmnType; +import io.camunda.connector.generator.java.annotation.ElementTemplate; +import io.camunda.connector.generator.java.annotation.ElementTemplate.ConnectorElementType; +import io.camunda.connector.generator.java.annotation.ElementTemplate.PropertyGroup; import io.camunda.connector.inbound.model.SqsInboundProperties; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; @@ -22,6 +26,44 @@ import org.slf4j.LoggerFactory; @InboundConnector(name = "AWS SQS Inbound", type = "io.camunda:aws-sqs-inbound:1") +@ElementTemplate( + id = "io.camunda.connectors.AWSSQS.inbound.v1", + name = "Amazon SQS Connector", + icon = "icon.svg", + version = 9, + inputDataClass = SqsInboundProperties.class, + description = "Receive message from a queue", + documentationRef = + "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sqs/?amazonsqs=inbound", + propertyGroups = { + @PropertyGroup(id = "authentication", label = "Authentication"), + @PropertyGroup(id = "configuration", label = "Configuration"), + @PropertyGroup(id = "queueProperties", label = "Queue properties"), + @PropertyGroup(id = "messagePollingProperties", label = "Message polling properties"), + @PropertyGroup(id = "input", label = "Use next attribute names for activation condition") + }, + elementTypes = { + @ConnectorElementType( + appliesTo = BpmnType.START_EVENT, + elementType = BpmnType.START_EVENT, + templateIdOverride = "io.camunda.connectors.AWSSQS.StartEvent.v1", + templateNameOverride = "Amazon SQS Start Event Connector"), + @ConnectorElementType( + appliesTo = BpmnType.START_EVENT, + elementType = BpmnType.MESSAGE_START_EVENT, + templateIdOverride = "io.camunda.connectors.AWSSQS.startmessage.v1", + templateNameOverride = "Amazon SQS Message Start Event Connector"), + @ConnectorElementType( + appliesTo = {BpmnType.INTERMEDIATE_THROW_EVENT, BpmnType.INTERMEDIATE_CATCH_EVENT}, + elementType = BpmnType.INTERMEDIATE_CATCH_EVENT, + templateIdOverride = "io.camunda.connectors.AWSSQS.intermediate.v1", + templateNameOverride = "Amazon SQS Intermediate Message Catch Event connector"), + @ConnectorElementType( + appliesTo = BpmnType.BOUNDARY_EVENT, + elementType = BpmnType.BOUNDARY_EVENT, + templateIdOverride = "io.camunda.connectors.AWSSQS.boundary.v1", + templateNameOverride = "Amazon SQS Boundary Event Connector") + }) public class SqsExecutable implements InboundConnectorExecutable { private static final Logger LOGGER = LoggerFactory.getLogger(SqsExecutable.class); private final AmazonSQSClientSupplier sqsClientSupplier; @@ -50,7 +92,7 @@ public void activate(final InboundConnectorContext context) { var region = AwsUtils.extractRegionOrDefault( - properties.getConfiguration(), properties.getQueue().getRegion()); + properties.getConfiguration(), properties.getQueue().region()); amazonSQS = sqsClientSupplier.sqsClient( CredentialsProviderSupport.credentialsProvider(properties), region); diff --git a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsQueueConsumer.java b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsQueueConsumer.java index 20b0157976..8a88451d0c 100644 --- a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsQueueConsumer.java +++ b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/SqsQueueConsumer.java @@ -40,7 +40,7 @@ public SqsQueueConsumer( @Override public void run() { - LOGGER.info("Started SQS consumer for queue {}", properties.getQueue().getUrl()); + LOGGER.info("Started SQS consumer for queue {}", properties.getQueue().url()); final ReceiveMessageRequest receiveMessageRequest = createReceiveMessageRequest(); ReceiveMessageResult receiveMessageResult; @@ -51,7 +51,7 @@ public void run() { for (Message message : messages) { try { context.correlate(MessageMapper.toSqsInboundMessage(message)); - sqsClient.deleteMessage(properties.getQueue().getUrl(), message.getReceiptHandle()); + sqsClient.deleteMessage(properties.getQueue().url(), message.getReceiptHandle()); } catch (ConnectorInputException e) { LOGGER.warn("NACK - failed to parse SQS message body: {}", e.getMessage()); } @@ -60,19 +60,19 @@ public void run() { LOGGER.debug("NACK - failed to correlate event", e); } } while (queueConsumerActive.get()); - LOGGER.info("Stopping SQS consumer for queue {}", properties.getQueue().getUrl()); + LOGGER.info("Stopping SQS consumer for queue {}", properties.getQueue().url()); } private ReceiveMessageRequest createReceiveMessageRequest() { return new ReceiveMessageRequest() - .withWaitTimeSeconds(Integer.valueOf(properties.getQueue().getPollingWaitTime())) - .withQueueUrl(properties.getQueue().getUrl()) + .withWaitTimeSeconds(Integer.valueOf(properties.getQueue().pollingWaitTime())) + .withQueueUrl(properties.getQueue().url()) .withMessageAttributeNames( - Optional.ofNullable(properties.getQueue().getMessageAttributeNames()) + Optional.ofNullable(properties.getQueue().messageAttributeNames()) .filter(list -> !list.isEmpty()) .orElse(ALL_ATTRIBUTES_KEY)) .withAttributeNames( - Optional.ofNullable(properties.getQueue().getAttributeNames()) + Optional.ofNullable(properties.getQueue().attributeNames()) .filter(list -> !list.isEmpty()) .orElse(ALL_ATTRIBUTES_KEY)); } diff --git a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/SqsInboundQueueProperties.java b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/SqsInboundQueueProperties.java index 038ce037b5..5d0104e788 100644 --- a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/SqsInboundQueueProperties.java +++ b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/SqsInboundQueueProperties.java @@ -6,108 +6,46 @@ */ package io.camunda.connector.inbound.model; -import jakarta.validation.constraints.NotEmpty; +import io.camunda.connector.generator.dsl.Property.FeelMode; +import io.camunda.connector.generator.java.annotation.TemplateProperty; +import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.Pattern; import java.util.List; -import java.util.Objects; -public class SqsInboundQueueProperties { - @Deprecated private String region; - @NotEmpty private String url; - private List attributeNames; - private List messageAttributeNames; - - // TODO: when migrating to template generator, default to 20 (max possible value) - @Pattern(regexp = "^([0-9]?|1[0-9]|20|secrets\\..+)$") - private String pollingWaitTime; - - @Deprecated - public String getRegion() { - return region; - } - - @Deprecated - public void setRegion(final String region) { - this.region = region; - } - - public String getUrl() { - return url; - } - - public void setUrl(final String url) { - this.url = url; - } - - public boolean isContainAttributeNames() { - return attributeNames != null && !attributeNames.isEmpty(); - } - - public boolean isContainMessageAttributeNames() { - return messageAttributeNames != null && !messageAttributeNames.isEmpty(); - } - - public List getAttributeNames() { - return attributeNames; - } - - public void setAttributeNames(final List attributeNames) { - this.attributeNames = attributeNames; - } - - public List getMessageAttributeNames() { - return messageAttributeNames; - } - - public void setMessageAttributeNames(final List messageAttributeNames) { - this.messageAttributeNames = messageAttributeNames; - } - - public String getPollingWaitTime() { - return pollingWaitTime; - } - - public void setPollingWaitTime(final String pollingWaitTime) { - this.pollingWaitTime = pollingWaitTime; - } - - @Override - public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - final SqsInboundQueueProperties that = (SqsInboundQueueProperties) o; - return Objects.equals(region, that.region) - && Objects.equals(url, that.url) - && Objects.equals(attributeNames, that.attributeNames) - && Objects.equals(messageAttributeNames, that.messageAttributeNames) - && Objects.equals(pollingWaitTime, that.pollingWaitTime); - } - - @Override - public int hashCode() { - return Objects.hash(region, url, attributeNames, messageAttributeNames, pollingWaitTime); - } - - @Override - public String toString() { - return "SqsInboundQueueProperties{" - + "region='" - + region - + "'" - + ", url='" - + url - + "'" - + ", attributeNames=" - + attributeNames - + ", messageAttributeNames=" - + messageAttributeNames - + ", pollingWaitTime='" - + pollingWaitTime - + "'" - + "}"; - } -} +public record SqsInboundQueueProperties( + @Deprecated @TemplateProperty(ignore = true) String region, + @TemplateProperty( + id = "queue.url", + label = "Queue URL", + group = "queueProperties", + description = "Specify the URL of the SQS queue where you would like to subscribe to", + feel = FeelMode.disabled) + @NotBlank + String url, + @TemplateProperty( + id = "queue.attributeNames", + label = "Attribute names", + group = "input", + description = + "Array of queue attribute names. See documentation for details", + feel = FeelMode.optional) + List attributeNames, + @TemplateProperty( + id = "queue.messageAttributeNames", + label = "Message attribute names", + group = "input", + description = + "Array of message attribute names. See documentation for details", + feel = FeelMode.optional) + List messageAttributeNames, + @TemplateProperty( + id = "queue.pollingWaitTime", + label = "Polling wait time", + group = "messagePollingProperties", + defaultValue = "20", + description = + "The duration (in seconds) for which the call waits for a message to arrive in the queue before returning. See documentation for details", + feel = FeelMode.disabled) + @Pattern(regexp = "^([0-9]?|1[0-9]|20|secrets\\..+)$") + @NotBlank + String pollingWaitTime) {} diff --git a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/message/MessageAttributeValue.java b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/message/MessageAttributeValue.java index 0a656d8703..5ffd6ea8db 100644 --- a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/message/MessageAttributeValue.java +++ b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/message/MessageAttributeValue.java @@ -8,91 +8,10 @@ import java.nio.ByteBuffer; import java.util.List; -import java.util.Objects; -public class MessageAttributeValue { - private String stringValue; - private ByteBuffer binaryValue; - private List stringListValues; - private List binaryListValues; - private String dataType; - - public String getStringValue() { - return stringValue; - } - - public void setStringValue(final String stringValue) { - this.stringValue = stringValue; - } - - public ByteBuffer getBinaryValue() { - return binaryValue; - } - - public void setBinaryValue(final ByteBuffer binaryValue) { - this.binaryValue = binaryValue; - } - - public List getStringListValues() { - return stringListValues; - } - - public void setStringListValues(final List stringListValues) { - this.stringListValues = stringListValues; - } - - public List getBinaryListValues() { - return binaryListValues; - } - - public void setBinaryListValues(final List binaryListValues) { - this.binaryListValues = binaryListValues; - } - - public String getDataType() { - return dataType; - } - - public void setDataType(final String dataType) { - this.dataType = dataType; - } - - @Override - public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - final MessageAttributeValue that = (MessageAttributeValue) o; - return Objects.equals(stringValue, that.stringValue) - && Objects.equals(binaryValue, that.binaryValue) - && Objects.equals(stringListValues, that.stringListValues) - && Objects.equals(binaryListValues, that.binaryListValues) - && Objects.equals(dataType, that.dataType); - } - - @Override - public int hashCode() { - return Objects.hash(stringValue, binaryValue, stringListValues, binaryListValues, dataType); - } - - @Override - public String toString() { - return "MessageAttributeValue{" - + "stringValue='" - + stringValue - + "'" - + ", binaryValue=" - + binaryValue - + ", stringListValues=" - + stringListValues - + ", binaryListValues=" - + binaryListValues - + ", dataType='" - + dataType - + "'" - + "}"; - } -} +public record MessageAttributeValue( + String stringValue, + ByteBuffer binaryValue, + List stringListValues, + List binaryListValues, + String dataType) {} diff --git a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/message/SqsInboundMessage.java b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/message/SqsInboundMessage.java index 82527bf593..e049e03075 100644 --- a/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/message/SqsInboundMessage.java +++ b/connectors/aws/aws-sqs/src/main/java/io/camunda/connector/inbound/model/message/SqsInboundMessage.java @@ -7,124 +7,12 @@ package io.camunda.connector.inbound.model.message; import java.util.Map; -import java.util.Objects; -public class SqsInboundMessage { - private String messageId; - private String receiptHandle; - private String mD5OfBody; - private Object body; - private Map attributes; - private String mD5OfMessageAttributes; - private Map messageAttributes; - - public String getMessageId() { - return messageId; - } - - public void setMessageId(final String messageId) { - this.messageId = messageId; - } - - public String getReceiptHandle() { - return receiptHandle; - } - - public void setReceiptHandle(final String receiptHandle) { - this.receiptHandle = receiptHandle; - } - - public String getmD5OfBody() { - return mD5OfBody; - } - - public void setmD5OfBody(final String mD5OfBody) { - this.mD5OfBody = mD5OfBody; - } - - public Object getBody() { - return body; - } - - public void setBody(final Object body) { - this.body = body; - } - - public Map getAttributes() { - return attributes; - } - - public void setAttributes(final Map attributes) { - this.attributes = attributes; - } - - public String getMD5OfMessageAttributes() { - return mD5OfMessageAttributes; - } - - public void setMD5OfMessageAttributes(final String mD5OfMessageAttributes) { - this.mD5OfMessageAttributes = mD5OfMessageAttributes; - } - - public Map getMessageAttributes() { - return messageAttributes; - } - - public void setMessageAttributes(final Map messageAttributes) { - this.messageAttributes = messageAttributes; - } - - @Override - public boolean equals(final Object o) { - if (this == o) { - return true; - } - if (o == null || getClass() != o.getClass()) { - return false; - } - final SqsInboundMessage that = (SqsInboundMessage) o; - return Objects.equals(messageId, that.messageId) - && Objects.equals(receiptHandle, that.receiptHandle) - && Objects.equals(mD5OfBody, that.mD5OfBody) - && Objects.equals(body, that.body) - && Objects.equals(attributes, that.attributes) - && Objects.equals(mD5OfMessageAttributes, that.mD5OfMessageAttributes) - && Objects.equals(messageAttributes, that.messageAttributes); - } - - @Override - public int hashCode() { - return Objects.hash( - messageId, - receiptHandle, - mD5OfBody, - body, - attributes, - mD5OfMessageAttributes, - messageAttributes); - } - - @Override - public String toString() { - return "SqsInboundMessage{" - + "messageId='" - + messageId - + "'" - + ", receiptHandle='" - + receiptHandle - + "'" - + ", mD5OfBody='" - + mD5OfBody - + "'" - + ", body=" - + body - + ", attributes=" - + attributes - + ", mD5OfMessageAttributes='" - + mD5OfMessageAttributes - + "'" - + ", messageAttributes=" - + messageAttributes - + "}"; - } -} +public record SqsInboundMessage( + String messageId, + String receiptHandle, + String mD5OfBody, + Object body, + Map attributes, + String mD5OfMessageAttributes, + Map messageAttributes) {} diff --git a/connectors/aws/aws-sqs/src/test/java/io/camunda/connector/inbound/MessageMapperTest.java b/connectors/aws/aws-sqs/src/test/java/io/camunda/connector/inbound/MessageMapperTest.java index 2fc4e6ae6a..7037892c80 100644 --- a/connectors/aws/aws-sqs/src/test/java/io/camunda/connector/inbound/MessageMapperTest.java +++ b/connectors/aws/aws-sqs/src/test/java/io/camunda/connector/inbound/MessageMapperTest.java @@ -65,22 +65,21 @@ public void toSqsInboundMessage_shouldMapAllProperties() { // When SqsInboundMessage sqsInboundMessage = MessageMapper.toSqsInboundMessage(awsMessage); // then - assertThat(sqsInboundMessage.getMessageId()).isEqualTo(MESSAGE_ID); - assertThat(sqsInboundMessage.getReceiptHandle()).isEqualTo(RECEIPT_HANDLE); - assertThat(sqsInboundMessage.getMD5OfMessageAttributes()).isEqualTo(MD5_OF_MESSAGE_ATTRIBUTES); - assertThat(sqsInboundMessage.getAttributes()).isEqualTo(ATTRIBUTES); - assertThat(sqsInboundMessage.getmD5OfBody()).isEqualTo(JSON_BODY); - assertThat(sqsInboundMessage.getBody()).isEqualTo(STRING_BODY); + assertThat(sqsInboundMessage.messageId()).isEqualTo(MESSAGE_ID); + assertThat(sqsInboundMessage.receiptHandle()).isEqualTo(RECEIPT_HANDLE); + assertThat(sqsInboundMessage.mD5OfMessageAttributes()).isEqualTo(MD5_OF_MESSAGE_ATTRIBUTES); + assertThat(sqsInboundMessage.attributes()).isEqualTo(ATTRIBUTES); + assertThat(sqsInboundMessage.mD5OfBody()).isEqualTo(JSON_BODY); + assertThat(sqsInboundMessage.body()).isEqualTo(STRING_BODY); io.camunda.connector.inbound.model.message.MessageAttributeValue - sqsInboundMessageAttributeValue = - sqsInboundMessage.getMessageAttributes().get("attributeKey"); - assertThat(sqsInboundMessageAttributeValue.getStringValue()).isEqualTo(ATTRIBUTE_STRING_VALUE); - assertThat(sqsInboundMessageAttributeValue.getDataType()).isEqualTo(ATTRIBUTE_DATA_TYPE); - assertThat(sqsInboundMessageAttributeValue.getBinaryValue()).isEqualTo(ATTRIBUTE_BINARY_TYPE); - assertThat(sqsInboundMessageAttributeValue.getStringListValues()) + sqsInboundMessageAttributeValue = sqsInboundMessage.messageAttributes().get("attributeKey"); + assertThat(sqsInboundMessageAttributeValue.stringValue()).isEqualTo(ATTRIBUTE_STRING_VALUE); + assertThat(sqsInboundMessageAttributeValue.dataType()).isEqualTo(ATTRIBUTE_DATA_TYPE); + assertThat(sqsInboundMessageAttributeValue.binaryValue()).isEqualTo(ATTRIBUTE_BINARY_TYPE); + assertThat(sqsInboundMessageAttributeValue.stringListValues()) .isEqualTo(List.of(ATTRIBUTE_STRING_VALUE)); - assertThat(sqsInboundMessageAttributeValue.getBinaryListValues()) + assertThat(sqsInboundMessageAttributeValue.binaryListValues()) .isEqualTo(List.of(ATTRIBUTE_BINARY_TYPE)); } @@ -91,7 +90,7 @@ public void toSqsInboundMessage_shouldMapStringJsonBodyToObject() { // When SqsInboundMessage sqsInboundMessage = MessageMapper.toSqsInboundMessage(awsMessage); // then - JsonNode jsonNode = objectMapper.convertValue(sqsInboundMessage.getBody(), JsonNode.class); + JsonNode jsonNode = objectMapper.convertValue(sqsInboundMessage.body(), JsonNode.class); String actualValue = jsonNode.get("key").get("innerKey").asText(); assertThat(actualValue).isEqualTo("value"); } @@ -104,7 +103,7 @@ public void toSqsInboundMessage_shouldWorkWithEmptyAttributes() { // When SqsInboundMessage sqsInboundMessage = MessageMapper.toSqsInboundMessage(awsMessage); // then - assertThat(sqsInboundMessage.getAttributes()).isEqualTo(new HashMap<>()); - assertThat(sqsInboundMessage.getMessageAttributes()).isEqualTo(new HashMap<>()); + assertThat(sqsInboundMessage.attributes()).isEqualTo(new HashMap<>()); + assertThat(sqsInboundMessage.messageAttributes()).isEqualTo(new HashMap<>()); } } diff --git a/connectors/aws/aws-sqs/src/test/java/io/camunda/connector/inbound/SqsQueueConsumerTest.java b/connectors/aws/aws-sqs/src/test/java/io/camunda/connector/inbound/SqsQueueConsumerTest.java index 569fb6921e..d745285d02 100644 --- a/connectors/aws/aws-sqs/src/test/java/io/camunda/connector/inbound/SqsQueueConsumerTest.java +++ b/connectors/aws/aws-sqs/src/test/java/io/camunda/connector/inbound/SqsQueueConsumerTest.java @@ -52,11 +52,7 @@ void setUp() { message = new Message().withMessageId("message id").withBody("body msg"); - queue = new SqsInboundQueueProperties(); - queue.setUrl("my-queue"); - queue.setAttributeNames(null); - queue.setMessageAttributeNames(null); - queue.setPollingWaitTime("1"); + queue = new SqsInboundQueueProperties("us-east-1", "my-queue", null, null, "1"); properties.setQueue(queue); @@ -96,8 +92,10 @@ void run_shouldActivateWithAttributes() throws InterruptedException { // given List attributeNames = Collections.singletonList("attribute"); List messageAttributeNames = Collections.singletonList("attribute"); - queue.setAttributeNames(attributeNames); - queue.setMessageAttributeNames(messageAttributeNames); + queue = + new SqsInboundQueueProperties( + "us-east-1", "my-queue", attributeNames, messageAttributeNames, "1"); + properties.setQueue(queue); when(sqsClient.receiveMessage(requestArgumentCaptor.capture())) .thenReturn(receiveMessageResult); when(receiveMessageResult.getMessages()).thenReturn(messages);