-
Notifications
You must be signed in to change notification settings - Fork 39
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feature(aws-s3-connector): AWS s3 connector (#3744)
* feature(s3-connector): initial commit * feature(s3-connector): checkpoint s3 connector * feature(s3-connector): checkpoint s3 connector * feature(s3-connector): checkpoint s3 connector * feature(s3-connector): checkpoint s3 connector 3 * feature(s3-connector): checkpoint s3 connector; pom commit * feature(s3-connector): checkpoint s3 connector; pom commit * feature(s3-connector): all features done * feature(s3-connector): correcting after Jonathan comments * feature(s3-connector): minor corrections * feature(s3-connector): minor corrections before rebase * feature(s3-connector): corrections * feature(s3-connector): corrections 2
- Loading branch information
1 parent
11b0f42
commit 9b775d1
Showing
26 changed files
with
1,664 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
369 changes: 369 additions & 0 deletions
369
connectors/aws/aws-s3/element-templates/aws-s3-outbound-connector.json
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,369 @@ | ||
{ | ||
"$schema" : "https://unpkg.com/@camunda/zeebe-element-templates-json-schema/resources/schema.json", | ||
"name" : "AWS S3 Outbound Connector", | ||
"id" : "io.camunda.connectors.aws.s3.v1", | ||
"description" : "Execute S3 requests", | ||
"metadata" : { | ||
"keywords" : [ ] | ||
}, | ||
"documentationRef" : "https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/aws-s3/", | ||
"version" : 1, | ||
"category" : { | ||
"id" : "connectors", | ||
"name" : "Connectors" | ||
}, | ||
"appliesTo" : [ "bpmn:Task" ], | ||
"elementType" : { | ||
"value" : "bpmn:ServiceTask" | ||
}, | ||
"groups" : [ { | ||
"id" : "authentication", | ||
"label" : "Authentication" | ||
}, { | ||
"id" : "configuration", | ||
"label" : "Configuration" | ||
}, { | ||
"id" : "action", | ||
"label" : "Action" | ||
}, { | ||
"id" : "deleteObject", | ||
"label" : "Delete an object" | ||
}, { | ||
"id" : "uploadObject", | ||
"label" : "Upload an object" | ||
}, { | ||
"id" : "downloadObject", | ||
"label" : "Download an object" | ||
}, { | ||
"id" : "output", | ||
"label" : "Output mapping" | ||
}, { | ||
"id" : "error", | ||
"label" : "Error handling" | ||
}, { | ||
"id" : "retries", | ||
"label" : "Retries" | ||
} ], | ||
"properties" : [ { | ||
"value" : "io.camunda:aws-s3:1", | ||
"binding" : { | ||
"property" : "type", | ||
"type" : "zeebe:taskDefinition" | ||
}, | ||
"type" : "Hidden" | ||
}, { | ||
"id" : "authentication.type", | ||
"label" : "Authentication", | ||
"description" : "Specify AWS authentication strategy. Learn more at the <a href=\"https://docs.camunda.io/docs/components/connectors/out-of-the-box-connectors/aws-lambda/#aws-authentication-types\" target=\"_blank\">documentation page</a>", | ||
"value" : "credentials", | ||
"group" : "authentication", | ||
"binding" : { | ||
"name" : "authentication.type", | ||
"type" : "zeebe:input" | ||
}, | ||
"type" : "Dropdown", | ||
"choices" : [ { | ||
"name" : "Default Credentials Chain (Hybrid/Self-Managed only)", | ||
"value" : "defaultCredentialsChain" | ||
}, { | ||
"name" : "Credentials", | ||
"value" : "credentials" | ||
} ] | ||
}, { | ||
"id" : "authentication.accessKey", | ||
"label" : "Access key", | ||
"description" : "Provide an IAM access key tailored to a user, equipped with the necessary permissions", | ||
"optional" : false, | ||
"constraints" : { | ||
"notEmpty" : true | ||
}, | ||
"feel" : "optional", | ||
"group" : "authentication", | ||
"binding" : { | ||
"name" : "authentication.accessKey", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "authentication.type", | ||
"equals" : "credentials", | ||
"type" : "simple" | ||
}, | ||
"type" : "String" | ||
}, { | ||
"id" : "authentication.secretKey", | ||
"label" : "Secret key", | ||
"description" : "Provide a secret key of a user with permissions to invoke specified AWS Lambda function", | ||
"optional" : false, | ||
"constraints" : { | ||
"notEmpty" : true | ||
}, | ||
"feel" : "optional", | ||
"group" : "authentication", | ||
"binding" : { | ||
"name" : "authentication.secretKey", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "authentication.type", | ||
"equals" : "credentials", | ||
"type" : "simple" | ||
}, | ||
"type" : "String" | ||
}, { | ||
"id" : "configuration.region", | ||
"label" : "Region", | ||
"description" : "Specify the AWS region", | ||
"optional" : false, | ||
"constraints" : { | ||
"notEmpty" : true | ||
}, | ||
"feel" : "optional", | ||
"group" : "configuration", | ||
"binding" : { | ||
"name" : "configuration.region", | ||
"type" : "zeebe:input" | ||
}, | ||
"type" : "String" | ||
}, { | ||
"id" : "configuration.endpoint", | ||
"label" : "Endpoint", | ||
"description" : "Specify endpoint if need to use custom endpoint", | ||
"optional" : true, | ||
"group" : "configuration", | ||
"binding" : { | ||
"name" : "configuration.endpoint", | ||
"type" : "zeebe:input" | ||
}, | ||
"type" : "Hidden" | ||
}, { | ||
"id" : "actionDiscriminator", | ||
"label" : "Action", | ||
"value" : "uploadObject", | ||
"group" : "action", | ||
"binding" : { | ||
"name" : "actionDiscriminator", | ||
"type" : "zeebe:input" | ||
}, | ||
"type" : "Dropdown", | ||
"choices" : [ { | ||
"name" : "Delete object", | ||
"value" : "deleteObject" | ||
}, { | ||
"name" : "Download object", | ||
"value" : "downloadObject" | ||
}, { | ||
"name" : "Upload object", | ||
"value" : "uploadObject" | ||
} ] | ||
}, { | ||
"id" : "deleteActionBucket", | ||
"label" : "AWS bucket", | ||
"optional" : false, | ||
"constraints" : { | ||
"notEmpty" : true | ||
}, | ||
"feel" : "optional", | ||
"group" : "deleteObject", | ||
"binding" : { | ||
"name" : "action.bucket", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "actionDiscriminator", | ||
"equals" : "deleteObject", | ||
"type" : "simple" | ||
}, | ||
"tooltip" : "Bucket from where an object should be deleted", | ||
"type" : "String" | ||
}, { | ||
"id" : "deleteActionKey", | ||
"label" : "AWS key", | ||
"optional" : false, | ||
"constraints" : { | ||
"notEmpty" : true | ||
}, | ||
"feel" : "optional", | ||
"group" : "deleteObject", | ||
"binding" : { | ||
"name" : "action.key", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "actionDiscriminator", | ||
"equals" : "deleteObject", | ||
"type" : "simple" | ||
}, | ||
"tooltip" : "Key of the object which should be deleted", | ||
"type" : "String" | ||
}, { | ||
"id" : "uploadActionBucket", | ||
"label" : "AWS bucket", | ||
"optional" : false, | ||
"constraints" : { | ||
"notEmpty" : true | ||
}, | ||
"feel" : "optional", | ||
"group" : "uploadObject", | ||
"binding" : { | ||
"name" : "action.bucket", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "actionDiscriminator", | ||
"equals" : "uploadObject", | ||
"type" : "simple" | ||
}, | ||
"tooltip" : "Bucket from where an object should be uploaded", | ||
"type" : "String" | ||
}, { | ||
"id" : "uploadActionKey", | ||
"label" : "AWS key", | ||
"optional" : true, | ||
"feel" : "optional", | ||
"group" : "uploadObject", | ||
"binding" : { | ||
"name" : "action.key", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "actionDiscriminator", | ||
"equals" : "uploadObject", | ||
"type" : "simple" | ||
}, | ||
"tooltip" : "Key of the uploaded object, if not given. The file name from the document metadata will be used", | ||
"type" : "String" | ||
}, { | ||
"id" : "uploadActionDocument", | ||
"label" : "Document", | ||
"optional" : false, | ||
"feel" : "required", | ||
"group" : "uploadObject", | ||
"binding" : { | ||
"name" : "action.document", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "actionDiscriminator", | ||
"equals" : "uploadObject", | ||
"type" : "simple" | ||
}, | ||
"tooltip" : "Document to be uploaded on AWS S3", | ||
"type" : "String" | ||
}, { | ||
"id" : "downloadActionBucket", | ||
"label" : "AWS bucket", | ||
"optional" : false, | ||
"constraints" : { | ||
"notEmpty" : true | ||
}, | ||
"feel" : "optional", | ||
"group" : "downloadObject", | ||
"binding" : { | ||
"name" : "action.bucket", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "actionDiscriminator", | ||
"equals" : "downloadObject", | ||
"type" : "simple" | ||
}, | ||
"tooltip" : "Bucket from where an object should be downloaded", | ||
"type" : "String" | ||
}, { | ||
"id" : "downloadActionKey", | ||
"label" : "AWS key", | ||
"optional" : false, | ||
"constraints" : { | ||
"notEmpty" : true | ||
}, | ||
"feel" : "optional", | ||
"group" : "downloadObject", | ||
"binding" : { | ||
"name" : "action.key", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "actionDiscriminator", | ||
"equals" : "downloadObject", | ||
"type" : "simple" | ||
}, | ||
"tooltip" : "Key of the object which should be download", | ||
"type" : "String" | ||
}, { | ||
"id" : "downloadActionAsFile", | ||
"label" : "Create document", | ||
"optional" : false, | ||
"value" : true, | ||
"feel" : "optional", | ||
"group" : "downloadObject", | ||
"binding" : { | ||
"name" : "action.asFile", | ||
"type" : "zeebe:input" | ||
}, | ||
"condition" : { | ||
"property" : "actionDiscriminator", | ||
"equals" : "downloadObject", | ||
"type" : "simple" | ||
}, | ||
"tooltip" : "If set to true, a document reference will be created. If set to false, the content will be extracted and provided inside the response.", | ||
"type" : "Boolean" | ||
}, { | ||
"id" : "resultVariable", | ||
"label" : "Result variable", | ||
"description" : "Name of variable to store the response in", | ||
"group" : "output", | ||
"binding" : { | ||
"key" : "resultVariable", | ||
"type" : "zeebe:taskHeader" | ||
}, | ||
"type" : "String" | ||
}, { | ||
"id" : "resultExpression", | ||
"label" : "Result expression", | ||
"description" : "Expression to map the response into process variables", | ||
"feel" : "required", | ||
"group" : "output", | ||
"binding" : { | ||
"key" : "resultExpression", | ||
"type" : "zeebe:taskHeader" | ||
}, | ||
"type" : "Text" | ||
}, { | ||
"id" : "errorExpression", | ||
"label" : "Error expression", | ||
"description" : "Expression to handle errors. Details in the <a href=\"https://docs.camunda.io/docs/components/connectors/use-connectors/\" target=\"_blank\">documentation</a>.", | ||
"feel" : "required", | ||
"group" : "error", | ||
"binding" : { | ||
"key" : "errorExpression", | ||
"type" : "zeebe:taskHeader" | ||
}, | ||
"type" : "Text" | ||
}, { | ||
"id" : "retryCount", | ||
"label" : "Retries", | ||
"description" : "Number of retries", | ||
"value" : "3", | ||
"feel" : "optional", | ||
"group" : "retries", | ||
"binding" : { | ||
"property" : "retries", | ||
"type" : "zeebe:taskDefinition" | ||
}, | ||
"type" : "String" | ||
}, { | ||
"id" : "retryBackoff", | ||
"label" : "Retry backoff", | ||
"description" : "ISO-8601 duration to wait between retries", | ||
"value" : "PT0S", | ||
"group" : "retries", | ||
"binding" : { | ||
"key" : "retryBackoff", | ||
"type" : "zeebe:taskHeader" | ||
}, | ||
"type" : "String" | ||
} ], | ||
"icon" : { | ||
"contents" : "data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MjgiIGhlaWdodD0iNTEyIiB2aWV3Qm94PSIwIDAgNDI4IDUxMiI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2UyNTQ0NDsKICAgICAgfQoKICAgICAgLmNscy0xLCAuY2xzLTIsIC5jbHMtMyB7CiAgICAgICAgZmlsbC1ydWxlOiBldmVub2RkOwogICAgICB9CgogICAgICAuY2xzLTIgewogICAgICAgIGZpbGw6ICM3YjFkMTM7CiAgICAgIH0KCiAgICAgIC5jbHMtMyB7CiAgICAgICAgZmlsbDogIzU4MTUwZDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMzc4LDk5TDI5NSwyNTdsODMsMTU4LDM0LTE5VjExOFoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zNzgsOTlMMjEyLDExOCwxMjcuNSwyNTcsMjEyLDM5NmwxNjYsMTlWOTlaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJNNDMsOTlMMTYsMTExVjQwM2wyNywxMkwyMTIsMjU3WiIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTQyLjYzNyw5OC42NjdsMTY5LjU4Nyw0Ny4xMTFWMzcyLjQ0NEw0Mi42MzcsNDE1LjExMVY5OC42NjdaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0zIiBkPSJNMjEyLjMxMywxNzAuNjY3bC03Mi4wMDgtMTEuNTU2LDcyLjAwOC04MS43NzgsNzEuODMsODEuNzc4WiIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTI4NC4xNDMsMTU5LjExMWwtNzEuOTE5LDExLjczMy03MS45MTktMTEuNzMzVjc3LjMzMyIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMyIgZD0iTTIxMi4zMTMsMzQyLjIyMmwtNzIuMDA4LDEzLjMzNCw3Mi4wMDgsNzAuMjIyLDcxLjgzLTcwLjIyMloiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0yMTIsMTZMMTQwLDU0VjE1OWw3Mi4yMjQtMjAuMzMzWiIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTIxMi4yMjQsMTk2LjQ0NGwtNzEuOTE5LDcuODIzVjMwOS4xMDVsNzEuOTE5LDguMjI4VjE5Ni40NDRaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMjEyLjIyNCwzNzMuMzMzTDE0MC4zMDUsMzU1LjNWNDU4LjM2M0wyMTIuMjI0LDQ5NlYzNzMuMzMzWiIvPgogIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTI4NC4xNDMsMzU1LjNsLTcxLjkxOSwxOC4wMzhWNDk2bDcxLjkxOS0zNy42MzdWMzU1LjNaIi8+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjEyLjIyNCwxOTYuNDQ0bDcxLjkxOSw3LjgyM1YzMDkuMTA1bC03MS45MTksOC4yMjhWMTk2LjQ0NFoiLz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik0yMTIsMTZsNzIsMzhWMTU5bC03Mi0yMFYxNloiLz4KPC9zdmc+Cg==" | ||
} | ||
} |
Oops, something went wrong.