Skip to content

Commit

Permalink
chore(sns): migrate to element template generator
Browse files Browse the repository at this point in the history
  • Loading branch information
igpetrov committed Apr 2, 2024
1 parent 8d92aa3 commit a66a653
Show file tree
Hide file tree
Showing 9 changed files with 780 additions and 834 deletions.
357 changes: 170 additions & 187 deletions connectors/aws/aws-sns/element-templates/aws-sns-inbound-boundary.json

Large diffs are not rendered by default.

Large diffs are not rendered by default.

Large diffs are not rendered by default.

233 changes: 106 additions & 127 deletions connectors/aws/aws-sns/element-templates/aws-sns-inbound-start-event.json
Original file line number Diff line number Diff line change
@@ -1,141 +1,120 @@
{
"$schema": "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
"name": "SNS HTTPS Start Event Connector",
"id": "io.camunda.connectors.inbound.AWSSNS.StartEvent.v1",
"description": "Receive events from AWS SNS",
"version": 2,
"documentationRef": "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sns/?amazonsns=inbound",
"category": {
"id": "connectors",
"name": "Connectors"
"$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json",
"name" : "SNS HTTPS Start Event Connector",
"id" : "io.camunda.connectors.inbound.AWSSNS.StartEvent.v1",
"description" : "Receive events from AWS SNS",
"documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/amazon-sns/?amazonsns=inbound",
"version" : 4,
"category" : {
"id" : "connectors",
"name" : "Connectors"
},
"appliesTo": [
"bpmn:StartEvent"
],
"elementType": {
"value": "bpmn:StartEvent"
"appliesTo" : [ "bpmn:StartEvent" ],
"elementType" : {
"value" : "bpmn:StartEvent"
},
"groups": [
{
"id": "subscription",
"label": "Subscription configuration"
"groups" : [ {
"id" : "subscription",
"label" : "Subscription Configuration"
}, {
"id" : "activation",
"label" : "Activation"
}, {
"id" : "output",
"label" : "Output mapping"
} ],
"properties" : [ {
"value" : "io.camunda:aws-sns-webhook:1",
"binding" : {
"name" : "inbound.type",
"type" : "zeebe:property"
},
{
"id": "activation",
"label": "Activation"
"type" : "Hidden"
}, {
"id" : "inbound.context",
"label" : "Subscription ID",
"description" : "The subscription ID is a part of the URL endpoint",
"optional" : false,
"constraints" : {
"notEmpty" : true
},
{
"id": "variable-mapping",
"label": "Variable mapping"
}
],
"properties": [
{
"type": "Hidden",
"value": "io.camunda:aws-sns-webhook:1",
"binding": {
"type": "zeebe:property",
"name": "inbound.type"
}
"group" : "subscription",
"binding" : {
"name" : "inbound.context",
"type" : "zeebe:property"
},
{
"type": "Hidden",
"value": "SnsHttpsSubscription",
"binding": {
"type": "zeebe:property",
"name": "inbound.subtype"
}
"type" : "String"
}, {
"id" : "inbound.securitySubscriptionAllowedFor",
"label" : "Allow to receive messages from topic(s)",
"description" : "Control which topic(s) is allowed to start a process",
"optional" : false,
"value" : "any",
"group" : "subscription",
"binding" : {
"name" : "inbound.securitySubscriptionAllowedFor",
"type" : "zeebe:property"
},
{
"label": "Subscription ID",
"type": "String",
"group": "subscription",
"binding": {
"type": "zeebe:property",
"name": "inbound.context"
},
"description": "The subscription ID is a part of the URL endpoint",
"constraints": {
"notEmpty": true
}
"type" : "Dropdown",
"choices" : [ {
"name" : "Any",
"value" : "any"
}, {
"name" : "Specific topic(s)",
"value" : "specific"
} ]
}, {
"id" : "inbound.topicsAllowList",
"label" : "Topic ARN(s)",
"description" : "Topics that allow to publish messages",
"optional" : true,
"feel" : "optional",
"group" : "subscription",
"binding" : {
"name" : "inbound.topicsAllowList",
"type" : "zeebe:property"
},
{
"id": "securitySubscriptionAllowedFor",
"label": "Allow to receive messages from topic(s)",
"group": "subscription",
"description": "Control which topic(s) is allowed to start a process",
"value": "any",
"type": "Dropdown",
"choices": [
{
"name": "Any",
"value": "any"
},
{
"name": "Specific topic(s)",
"value": "specific"
}
],
"binding": {
"type": "zeebe:property",
"name": "inbound.securitySubscriptionAllowedFor"
}
"condition" : {
"property" : "inbound.securitySubscriptionAllowedFor",
"equals" : "specific",
"type" : "simple"
},
{
"label": "Topic ARN(s)",
"description": "Topics that allow to publish messages",
"type": "String",
"group": "subscription",
"feel": "optional",
"binding": {
"type": "zeebe:property",
"name": "inbound.topicsAllowList"
},
"constraints": {
"notEmpty": true
},
"condition": {
"property": "securitySubscriptionAllowedFor",
"equals": "specific"
}
"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": "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" : "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 80 80' 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/64/Arch_AWS-Simple-Notification-Service_64%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/64/Arch_AWS-Simple-Notification-Service_64' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd'%3E%3Cg id='Icon-Architecture-BG/64/Application-Integration' fill='url(%23linearGradient-1)'%3E%3Crect id='Rectangle' x='0' y='0' width='80' height='80'%3E%3C/rect%3E%3C/g%3E%3Cpath d='M17,38 C18.103,38 19,38.897 19,40 C19,41.103 18.103,42 17,42 C15.897,42 15,41.103 15,40 C15,38.897 15.897,38 17,38 L17,38 Z M41,64 C29.314,64 19.289,55.466 17.194,43.98 C18.965,43.894 20.427,42.659 20.857,41 L27,41 L27,39 L20.857,39 C20.427,37.342 18.966,36.107 17.195,36.02 C19.285,24.71 29.511,16 41,16 C45.313,16 49.832,17.622 54.429,20.821 L55.571,19.179 C50.633,15.743 45.73,14 41,14 C28.27,14 16.949,23.865 15.063,36.521 C13.839,37.207 13,38.5 13,40 C13,41.5 13.839,42.793 15.063,43.478 C16.97,56.341 28.056,66 41,66 C46.407,66 51.942,64.157 56.585,60.811 L55.415,59.189 C51.11,62.292 45.991,64 41,64 L41,64 Z M30.101,36.442 C31.955,36.895 34.275,37 36,37 C37.642,37 39.823,36.905 41.629,36.506 L37.105,45.553 C37.036,45.691 37,45.845 37,46 L37,50.453 C36.199,50.964 34.833,51.812 34,51.986 L34,46 C34,45.868 33.974,45.737 33.923,45.615 L30.101,36.442 Z M36,33 C40.025,33 42.174,33.604 42.841,34 C42.174,34.396 40.025,35 36,35 C31.975,35 29.826,34.396 29.159,34 C29.826,33.604 31.975,33 36,33 L36,33 Z M33,54 L34,54 C34.043,54 34.086,53.997 34.128,53.992 C35.352,53.833 36.909,52.887 38.272,52.013 L38.535,51.845 C38.824,51.661 39,51.342 39,51 L39,46.236 L44.559,35.12 C44.833,34.801 45,34.434 45,34 C45,31.39 39.361,31 36,31 C32.639,31 27,31.39 27,34 C27,34.366 27.12,34.684 27.32,34.967 L32,46.2 L32,53 C32,53.552 32.447,54 33,54 L33,54 Z M62,53 C63.103,53 64,53.897 64,55 C64,56.103 63.103,57 62,57 C60.897,57 60,56.103 60,55 C60,53.897 60.897,53 62,53 L62,53 Z M62,23 C63.103,23 64,23.897 64,25 C64,26.103 63.103,27 62,27 C60.897,27 60,26.103 60,25 C60,23.897 60.897,23 62,23 L62,23 Z M64,38 C65.103,38 66,38.897 66,40 C66,41.103 65.103,42 64,42 C62.897,42 62,41.103 62,40 C62,38.897 62.897,38 64,38 L64,38 Z M54,41 L60.143,41 C60.589,42.72 62.142,44 64,44 C66.206,44 68,42.206 68,40 C68,37.794 66.206,36 64,36 C62.142,36 60.589,37.28 60.143,39 L54,39 L54,26 L58.143,26 C58.589,27.72 60.142,29 62,29 C64.206,29 66,27.206 66,25 C66,22.794 64.206,21 62,21 C60.142,21 58.589,22.28 58.143,24 L53,24 C52.447,24 52,24.448 52,25 L52,39 L45,39 L45,41 L52,41 L52,55 C52,55.552 52.447,56 53,56 L58.143,56 C58.589,57.72 60.142,59 62,59 C64.206,59 66,57.206 66,55 C66,52.794 64.206,51 62,51 C60.142,51 58.589,52.28 58.143,54 L54,54 L54,41 Z' id='AWS-Simple-Notification-Service_Icon_64_Squid' fill='%23FFFFFF'%3E%3C/path%3E%3C/g%3E%3C/svg%3E"
"type" : "Text"
} ],
"icon" : {
"contents" : "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTgnIGhlaWdodD0nMTgnIHZpZXdCb3g9JzAgMCA4MCA4MCcgdmVyc2lvbj0nMS4xJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnCiAgICAgeG1sbnM6eGxpbms9J2h0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsnPjwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggNjQgKDkzNTM3KSAtIGh0dHBzOi8vc2tldGNoLmNvbSAtLT4KICAgIDx0aXRsZT5JY29uLUFyY2hpdGVjdHVyZS82NC9BcmNoX0FXUy1TaW1wbGUtTm90aWZpY2F0aW9uLVNlcnZpY2VfNjQ8L3RpdGxlPgogICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+CiAgICA8ZGVmcz4KICAgICAgICA8bGluZWFyR3JhZGllbnQgeDE9JzAlJyB5MT0nMTAwJScgeDI9JzEwMCUnIHkyPScwJScgaWQ9J2xpbmVhckdyYWRpZW50LTEnPgogICAgICAgICAgICA8c3RvcCBzdG9wLWNvbG9yPScjQjAwODREJyBvZmZzZXQ9JzAlJz48L3N0b3A+CiAgICAgICAgICAgIDxzdG9wIHN0b3AtY29sb3I9JyNGRjRGOEInIG9mZnNldD0nMTAwJSc+PC9zdG9wPgogICAgICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgICA8L2RlZnM+CiAgICA8ZyBpZD0nSWNvbi1BcmNoaXRlY3R1cmUvNjQvQXJjaF9BV1MtU2ltcGxlLU5vdGlmaWNhdGlvbi1TZXJ2aWNlXzY0JyBzdHJva2U9J25vbmUnIHN0cm9rZS13aWR0aD0nMScgZmlsbD0nbm9uZScKICAgICAgIGZpbGwtcnVsZT0nZXZlbm9kZCc+CiAgICAgICAgPGcgaWQ9J0ljb24tQXJjaGl0ZWN0dXJlLUJHLzY0L0FwcGxpY2F0aW9uLUludGVncmF0aW9uJyBmaWxsPSd1cmwoI2xpbmVhckdyYWRpZW50LTEpJz4KICAgICAgICAgICAgPHJlY3QgaWQ9J1JlY3RhbmdsZScgeD0nMCcgeT0nMCcgd2lkdGg9JzgwJyBoZWlnaHQ9JzgwJz48L3JlY3Q+CiAgICAgICAgPC9nPgogICAgICAgIDxwYXRoIGQ9J00xNywzOCBDMTguMTAzLDM4IDE5LDM4Ljg5NyAxOSw0MCBDMTksNDEuMTAzIDE4LjEwMyw0MiAxNyw0MiBDMTUuODk3LDQyIDE1LDQxLjEwMyAxNSw0MCBDMTUsMzguODk3IDE1Ljg5NywzOCAxNywzOCBMMTcsMzggWiBNNDEsNjQgQzI5LjMxNCw2NCAxOS4yODksNTUuNDY2IDE3LjE5NCw0My45OCBDMTguOTY1LDQzLjg5NCAyMC40MjcsNDIuNjU5IDIwLjg1Nyw0MSBMMjcsNDEgTDI3LDM5IEwyMC44NTcsMzkgQzIwLjQyNywzNy4zNDIgMTguOTY2LDM2LjEwNyAxNy4xOTUsMzYuMDIgQzE5LjI4NSwyNC43MSAyOS41MTEsMTYgNDEsMTYgQzQ1LjMxMywxNiA0OS44MzIsMTcuNjIyIDU0LjQyOSwyMC44MjEgTDU1LjU3MSwxOS4xNzkgQzUwLjYzMywxNS43NDMgNDUuNzMsMTQgNDEsMTQgQzI4LjI3LDE0IDE2Ljk0OSwyMy44NjUgMTUuMDYzLDM2LjUyMSBDMTMuODM5LDM3LjIwNyAxMywzOC41IDEzLDQwIEMxMyw0MS41IDEzLjgzOSw0Mi43OTMgMTUuMDYzLDQzLjQ3OCBDMTYuOTcsNTYuMzQxIDI4LjA1Niw2NiA0MSw2NiBDNDYuNDA3LDY2IDUxLjk0Miw2NC4xNTcgNTYuNTg1LDYwLjgxMSBMNTUuNDE1LDU5LjE4OSBDNTEuMTEsNjIuMjkyIDQ1Ljk5MSw2NCA0MSw2NCBMNDEsNjQgWiBNMzAuMTAxLDM2LjQ0MiBDMzEuOTU1LDM2Ljg5NSAzNC4yNzUsMzcgMzYsMzcgQzM3LjY0MiwzNyAzOS44MjMsMzYuOTA1IDQxLjYyOSwzNi41MDYgTDM3LjEwNSw0NS41NTMgQzM3LjAzNiw0NS42OTEgMzcsNDUuODQ1IDM3LDQ2IEwzNyw1MC40NTMgQzM2LjE5OSw1MC45NjQgMzQuODMzLDUxLjgxMiAzNCw1MS45ODYgTDM0LDQ2IEMzNCw0NS44NjggMzMuOTc0LDQ1LjczNyAzMy45MjMsNDUuNjE1IEwzMC4xMDEsMzYuNDQyIFogTTM2LDMzIEM0MC4wMjUsMzMgNDIuMTc0LDMzLjYwNCA0Mi44NDEsMzQgQzQyLjE3NCwzNC4zOTYgNDAuMDI1LDM1IDM2LDM1IEMzMS45NzUsMzUgMjkuODI2LDM0LjM5NiAyOS4xNTksMzQgQzI5LjgyNiwzMy42MDQgMzEuOTc1LDMzIDM2LDMzIEwzNiwzMyBaIE0zMyw1NCBMMzQsNTQgQzM0LjA0Myw1NCAzNC4wODYsNTMuOTk3IDM0LjEyOCw1My45OTIgQzM1LjM1Miw1My44MzMgMzYuOTA5LDUyLjg4NyAzOC4yNzIsNTIuMDEzIEwzOC41MzUsNTEuODQ1IEMzOC44MjQsNTEuNjYxIDM5LDUxLjM0MiAzOSw1MSBMMzksNDYuMjM2IEw0NC41NTksMzUuMTIgQzQ0LjgzMywzNC44MDEgNDUsMzQuNDM0IDQ1LDM0IEM0NSwzMS4zOSAzOS4zNjEsMzEgMzYsMzEgQzMyLjYzOSwzMSAyNywzMS4zOSAyNywzNCBDMjcsMzQuMzY2IDI3LjEyLDM0LjY4NCAyNy4zMiwzNC45NjcgTDMyLDQ2LjIgTDMyLDUzIEMzMiw1My41NTIgMzIuNDQ3LDU0IDMzLDU0IEwzMyw1NCBaIE02Miw1MyBDNjMuMTAzLDUzIDY0LDUzLjg5NyA2NCw1NSBDNjQsNTYuMTAzIDYzLjEwMyw1NyA2Miw1NyBDNjAuODk3LDU3IDYwLDU2LjEwMyA2MCw1NSBDNjAsNTMuODk3IDYwLjg5Nyw1MyA2Miw1MyBMNjIsNTMgWiBNNjIsMjMgQzYzLjEwMywyMyA2NCwyMy44OTcgNjQsMjUgQzY0LDI2LjEwMyA2My4xMDMsMjcgNjIsMjcgQzYwLjg5NywyNyA2MCwyNi4xMDMgNjAsMjUgQzYwLDIzLjg5NyA2MC44OTcsMjMgNjIsMjMgTDYyLDIzIFogTTY0LDM4IEM2NS4xMDMsMzggNjYsMzguODk3IDY2LDQwIEM2Niw0MS4xMDMgNjUuMTAzLDQyIDY0LDQyIEM2Mi44OTcsNDIgNjIsNDEuMTAzIDYyLDQwIEM2MiwzOC44OTcgNjIuODk3LDM4IDY0LDM4IEw2NCwzOCBaIE01NCw0MSBMNjAuMTQzLDQxIEM2MC41ODksNDIuNzIgNjIuMTQyLDQ0IDY0LDQ0IEM2Ni4yMDYsNDQgNjgsNDIuMjA2IDY4LDQwIEM2OCwzNy43OTQgNjYuMjA2LDM2IDY0LDM2IEM2Mi4xNDIsMzYgNjAuNTg5LDM3LjI4IDYwLjE0MywzOSBMNTQsMzkgTDU0LDI2IEw1OC4xNDMsMjYgQzU4LjU4OSwyNy43MiA2MC4xNDIsMjkgNjIsMjkgQzY0LjIwNiwyOSA2NiwyNy4yMDYgNjYsMjUgQzY2LDIyLjc5NCA2NC4yMDYsMjEgNjIsMjEgQzYwLjE0MiwyMSA1OC41ODksMjIuMjggNTguMTQzLDI0IEw1MywyNCBDNTIuNDQ3LDI0IDUyLDI0LjQ0OCA1MiwyNSBMNTIsMzkgTDQ1LDM5IEw0NSw0MSBMNTIsNDEgTDUyLDU1IEM1Miw1NS41NTIgNTIuNDQ3LDU2IDUzLDU2IEw1OC4xNDMsNTYgQzU4LjU4OSw1Ny43MiA2MC4xNDIsNTkgNjIsNTkgQzY0LjIwNiw1OSA2Niw1Ny4yMDYgNjYsNTUgQzY2LDUyLjc5NCA2NC4yMDYsNTEgNjIsNTEgQzYwLjE0Miw1MSA1OC41ODksNTIuMjggNTguMTQzLDU0IEw1NCw1NCBMNTQsNDEgWicKICAgICAgICAgICAgICBpZD0nQVdTLVNpbXBsZS1Ob3RpZmljYXRpb24tU2VydmljZV9JY29uXzY0X1NxdWlkJyBmaWxsPScjRkZGRkZGJz48L3BhdGg+CiAgICA8L2c+Cjwvc3ZnPg=="
}
}
21 changes: 21 additions & 0 deletions connectors/aws/aws-sns/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,27 @@ except in compliance with the proprietary license.</license.inlineheader>
</file>
</files>
</connector>
<connector>
<connectorClass>io.camunda.connector.sns.inbound.SnsWebhookExecutable</connectorClass>
<files>
<file>
<templateId>io.camunda.connectors.inbound.AWSSNS.StartEvent.v1</templateId>
<templateFileName>aws-sns-inbound-start-event.json</templateFileName>
</file>
<file>
<templateId>io.camunda.connectors.inbound.AWSSNS.MessageStartEvent.v1</templateId>
<templateFileName>aws-sns-inbound-message-start.json</templateFileName>
</file>
<file>
<templateId>io.camunda.connectors.inbound.AWSSNS.IntermediateCatchEvent.v1</templateId>
<templateFileName>aws-sns-inbound-intermediate.json</templateFileName>
</file>
<file>
<templateId>io.camunda.connectors.inbound.AWSSNS.Boundary.v1</templateId>
<templateFileName>aws-sns-inbound-boundary.json</templateFileName>
</file>
</files>
</connector>
</connectors>
<includeDependencies>
<includeDependency>io.camunda.connector:connector-aws-base</includeDependency>
Expand Down

0 comments on commit a66a653

Please sign in to comment.