salesforce-source/kamelet.json

296 lines
19 KiB
JSON
Raw Permalink Normal View History

{
"apiVersion": "camel.apache.org/v1",
"kind": "Kamelet",
"metadata": {
"name": "salesforce-source",
"annotations": {
"camel.apache.org/kamelet.support.level": "Stable",
"camel.apache.org/catalog.version": "4.22.1",
"camel.apache.org/kamelet.icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjAgMCA0OCA0OCIgdmVyc2lvbj0iMS4xIj48ZyBpZD0ic3VyZmFjZTEiPjxwYXRoIGQ9Ik0zNi41IDEyYy0xLjMyNCAwLTIuNTkuMjU4LTMuNzU4LjcwM0E3Ljk5NCA3Ljk5NCAwIDAgMCAyNiA5Yy0yLjEwNSAwLTQuMDIuODItNS40NDUgMi4xNTJBOS40NjggOS40NjggMCAwIDAgMTMuNSA4QzguMjU0IDggNCAxMi4yNTQgNCAxNy41YzAgLjc5My4xMSAxLjU1OS4yOSAyLjI5M0E4LjQ3MiA4LjQ3MiAwIDAgMCAxIDI2LjVDMSAzMS4xOTUgNC44MDUgMzUgOS41IDM1Yy40MTQgMCAuODE2LS4wNCAxLjIxNS0uMDk4IDEuMzEyIDMgNC4zIDUuMDk4IDcuNzg1IDUuMDk4IDMuMTYgMCA1LjkxNC0xLjczIDcuMzc5LTQuMjkzQTcuOTIzIDcuOTIzIDAgMCAwIDI4IDM2YzIuNjIxIDAgNC45MzgtMS4yNjYgNi4zOTgtMy4yMS42OC4xMzYgMS4zODMuMjEgMi4xMDIuMjFDNDIuMyAzMyA0NyAyOC4zIDQ3IDIyLjVTNDIuMyAxMiAzNi41IDEyeiIgZmlsbD0iIzAzOUJFNSIvPjxwYXRoIGQ9Ik0xNS44MjQgMjVjLjA0MyAwIC4wNzQtLjAzNS4wNzQtLjA4MiAwIC4wNDctLjAzLjA4Mi0uMDc0LjA4MnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMjEuNTA0IDIzLjkzNHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNy4xMzcgMjMuOTNhLjExNi4xMTYgMCAwIDEgLjAwNCAwaC0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yNC4xMjUgMjEuOTFjLS4wMTYuMDQtLjA0Ny4wNDMtLjA3LjA0M2guMDA4Yy4wMjMgMCAuMDUtLjAwOC4wNjItLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMTUuODI0IDE5Yy4wNDMgMCAuMDc0LjAzNS4wNzQuMDgyIDAtLjA0Ny0uMDMtLjA4Mi0uMDc0LS4wODJ6IiBmaWxsPSIjRkZGIi8+PHBhdGggZD0iTTIxLjM2IDIyLjE4NGMwIC40MS4yMS42NjQuNTAzLjgzNi0uMjkzLS4xNzItLjUwNC0uNDI2LS41MDQtLjgzNnoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzguMTI1IDI0LjczYy4wMjcuMDYtLjAzMS4wODYtLjAzMS4wODZzLjA1OC0uMDI3LjAzMS0uMDg2eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik04LjU1OSAyMXoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNOS43NjYgMjEuOTFjLS4wMi4wNC0uMDQ3LjA0My0uMDc1LjA0M0g5LjdjLjAyOCAwIC4wNTEtLjAwOC4wNjctLjA0M3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzUuMTk1IDI0LjE2NHoiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNMzcuODI4IDIxLjc5N2gtLjAyM3MuMDA4LjAwNC4wMjMuMDA0di0uMDA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zNy44MzIgMjQuMTg4cy4wMTYgMCAuMDM1LS4wMDRoLS4wMDRjLS4wMTUgMC0uMDMxLjAwMy0uMDMxLjAwM3oiIGZpbGw9IiNGRkYiLz48cGF0aCBkPSJNNi44ODcgMjQuNDZjLS4wMzIuMDcxLjAwOC4wODcuMDIuMDk5LjA4NS4wNTguMTcxLjA5Ny4yNjEuMTQ0LjQ2OS4yMy45MS4yOTcgMS4zNzUuMjk3Ljk0NSAwIDEuNTMxLS40NiAxLjUzMS0xLjIwN3YtLjAxNmMwLS42ODctLjY2NC0uOTM3LTEuMjg1LTEuMTE3bC0uMDc4LS4wMjNjLS40NjktLjE0LS44NzEtLjI2Mi0uODcxLS41NDd2LS4wMTZjMC0uMjQyLjIzNC0uNDIyLjYwMS0uNDIyLjQwNyAwIC44ODcuMTI1IDEuMi4yODUgMCAwIC4wOS4wNTUuMTI1LS4wMjcuMDE1LS4wNDMuMTc1LS40MzMuMTkxLS40NzYuMDItLjA0My0uMDE2LS4wNzktLjA0Ny0uMDk4QTIuODQ1IDIuODQ1IDAgMCAwIDguNTYgMjFoLS4wOTRjLS44NjMgMC0xLjQ2OS40OC0xLjQ2OSAxLjE3MnYuMDEyYzAgLjcyNi42NjQuOTY0IDEuMjkgMS4xMjhsLjEuMDI4Yy40NTQuMTI5Ljg0NC4yMzguODQ0LjUzMXYuMDE2YzAgLjI3LS4yNTMuNDcyLS42NjQuNDcyLS4xNiAwLS42NjgtLjAwNC0xLjIxNC0uMzI0YTIuNDUgMi40NSAwIDAgMS0uMTU3LS4wOWMtLjAyNy0uMDE1LS4wOTMtLjA0My0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0yMS4yNDYgMjQuNDZjLS4wMjcuMDcxLjAxMi4wODcuMDIuMDk5LjA5LjA1OC4xNzUuMDk3LjI2MS4xNDQuNDcuMjMuOTE0LjI5NyAxLjM4LjI5Ny45NCAwIDEuNTI3LS40NiAxLjUyNy0xLjIwN3YtLjAxNmMwLS42ODctLjY2LS45MzctMS4yODItMS4xMTdsLS4wODItLjAyM2MtLjQ2NS0uMTQtLjg3LS4yNjItLjg3LS41NDd2LS4wMTZjMC0uMjQyLjIzOC0uNDIyLjYwNS0uNDIyLjQwNiAwIC44ODYuMTI1IDEuMTk5LjI4NSAwIDAgLjA5LjA1NS4xMjUtLjAyNy4wMTYtLjA0My4xNzItLjQzMy4xOTEtLjQ3Ni4wMTYtLjA0My0uMDE1LS4wNzktLjA0Ny0uMDk4QTIuODU3IDIuODU3IDAgMCAwIDIyLjkyMiAyMWgtLjA5OGMtLjg2MyAwLTEuNDY1LjQ4LTEuNDY1IDEuMTcydi4wMTJjMCAuNzI2LjY2NC45NjQgMS4yOSAxLjEyOGwuMDk3LjAyOGMuNDU3LjEyOS44NDguMjM4Ljg0OC41MzF2LjAxNmMwIC4yNy0uMjU0LjQ3Mi0uNjY0LjQ3Mi0uMTYgMC0uNjY4LS4wMDQtMS4yMTUtLjMyNGEyLjQ1IDIuNDUgMCAwIDEtLjE1Ni0uMDljLS4wMi0uMDA4LS4wOTgtLjAzOS0uMTI1LjA0eiIgZmlsbD0iI0ZGRiIvPjxwYXRoIGQ9Ik0zMS40NjUgMjIuMjE5YTEuNzE0IDEuNzE0IDAgMCAwLS4zNi0uNjMzIDEuNzQgMS43NCAwIDAgMC0uNjAxLS40MyAyLjE4NyAyLjE4NyAwIDAgMC0uODQ4LS4xNTZjLS4zMTYgMC0uNjAxLjA1NS0uODQzLjE1NmExLjY3IDEuNjcgMCAwIDAtLjYwMi40M2MtLjE2NC4xNzYtLjI4MS4zOS0uMzYuNjMzYTIuNTQ0IDIuNTQ0IDAgMCAwLS4xMTcuNzg1YzAgLjI3Ny4wNC41NDMuMTE4Ljc4NWExLjY5MSAxLjY5MSAwIDAgMCAuOTYgMS4wNTljLjI0My4wOTcuNTI4LjE1Mi44NDQuMTUyLjMyIDAgLjYwNi0uMDUuODQ4LS4xNTIuMjM4LS4xMDIuNDQxLS4yNDYuNjAxLS40MjIuMTYtLjE4LjI4Mi0uMzk1LjM2LS42MzcuMDc4LS4yNDIuMTE3LS41MDQuMTE3LS43ODVzL
"camel.apache.org/provider": "Apache Software Foundation",
"camel.apache.org/kamelet.group": "Salesforce",
"camel.apache.org/kamelet.namespace": "Salesforce"
},
"labels": {
"camel.apache.org/kamelet.type": "source"
}
},
"spec": {
"definition": {
"title": "Salesforce Source",
"description": "Receive updates from Salesforce.",
"required": [
"query",
"topicName",
"clientId",
"clientSecret",
"userName",
"password"
],
"type": "object",
"properties": {
"query": {
"title": "Query",
"description": "The query to execute on Salesforce.",
"type": "string",
"example": "SELECT Id, Name, Email, Phone FROM Contact"
},
"topicName": {
"title": "Topic Name",
"description": "The name of the topic or channel.",
"type": "string",
"example": "ContactTopic"
},
"loginUrl": {
"title": "Login URL",
"description": "The Salesforce instance login URL.",
"type": "string",
"default": "https://login.salesforce.com"
},
"notifyForFields": {
"title": "Notify For Fields",
"description": "Notify for fields.",
"type": "string",
"default": "ALL",
"enum": [
"ALL",
"REFERENCED",
"SELECT",
"WHERE"
]
},
"clientId": {
"title": "Consumer Key",
"description": "The Salesforce application consumer key.",
"type": "string",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"clientSecret": {
"title": "Consumer Secret",
"description": "The Salesforce application consumer secret.",
"type": "string",
"format": "password",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"userName": {
"title": "Username",
"description": "The Salesforce username.",
"type": "string",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"password": {
"title": "Password",
"description": "The Salesforce user password.",
"type": "string",
"format": "password",
"x-descriptors": [
"urn:camel:group:credentials"
]
},
"notifyForOperationCreate": {
"title": "Notify Operation Create",
"description": "Notify for create operation.",
"type": "boolean",
"default": true
},
"notifyForOperationUpdate": {
"title": "Notify Operation Update",
"description": "Notify for update operation.",
"type": "boolean",
"default": false
},
"notifyForOperationDelete": {
"title": "Notify Operation Delete",
"description": "Notify for delete operation.",
"type": "boolean",
"default": false
},
"notifyForOperationUndelete": {
"title": "Notify Operation Undelete",
"description": "Notify for undelete operation.",
"type": "boolean",
"default": false
},
"operation": {
"title": "Operation",
"description": "The operation to use",
"type": "string",
"default": "subscribe"
},
"rawPayload": {
"title": "Raw Payload",
"description": "Use raw payload String for request and response (either JSON or XML depending on format), instead of DTOs, false by default.",
"type": "boolean",
"default": false
},
"replayId": {
"title": "Replay Id",
"description": "The replayId value to use when subscribing to the Streaming API.",
"type": "long"
}
}
},
"types": {
"out": {
"mediaType": "application/json"
}
},
"dependencies": [
"camel:jackson",
"camel:salesforce",
"camel:kamelet"
],
"template": {
"beans": [
{
"name": "local-salesforce",
"type": "#class:org.apache.camel.component.salesforce.SalesforceComponent",
"properties": {
"clientId": "{{clientId}}",
"clientSecret": "{{clientSecret}}",
"userName": "{{userName}}",
"password": "{{password}}",
"loginUrl": "{{loginUrl}}"
}
}
],
"from": {
"uri": "{{local-salesforce}}:{{operation}}:{{topicName}}",
"parameters": {
"notifyForFields": "{{notifyForFields}}",
"updateTopic": "true",
"notifyForOperationCreate": "{{notifyForOperationCreate}}",
"notifyForOperationUpdate": "{{notifyForOperationUpdate}}",
"notifyForOperationDelete": "{{notifyForOperationDelete}}",
"notifyForOperationUndelete": "{{notifyForOperationUndelete}}",
"sObjectQuery": "{{query}}",
"rawPayload": "{{rawPayload}}",
"replayId": "{{?replayId}}"
},
"steps": [
{
"marshal": {
"json": {}
}
},
{
"to": "kamelet:sink"
}
]
}
}
},
"propertiesSchema": {
"$schema": "http://json-schema.org/draft-07/schema#",
"type": "object",
"title": "Salesforce Source",
"description": "Receive updates from Salesforce.",
"required": [
"query",
"topicName",
"clientId",
"clientSecret",
"userName",
"password"
],
"properties": {
"query": {
"type": "string",
"title": "Query",
"description": "The query to execute on Salesforce."
},
"topicName": {
"type": "string",
"title": "Topic Name",
"description": "The name of the topic or channel."
},
"loginUrl": {
"type": "string",
"title": "Login URL",
"description": "The Salesforce instance login URL.",
"default": "https://login.salesforce.com"
},
"notifyForFields": {
"type": "string",
"title": "Notify For Fields",
"description": "Notify for fields.",
"enum": [
"ALL",
"REFERENCED",
"SELECT",
"WHERE"
],
"default": "ALL"
},
"clientId": {
"type": "string",
"title": "Consumer Key",
"description": "The Salesforce application consumer key."
},
"clientSecret": {
"type": "string",
"title": "Consumer Secret",
"description": "The Salesforce application consumer secret.",
"format": "password"
},
"userName": {
"type": "string",
"title": "Username",
"description": "The Salesforce username."
},
"password": {
"type": "string",
"title": "Password",
"description": "The Salesforce user password.",
"format": "password"
},
"notifyForOperationCreate": {
"type": "boolean",
"title": "Notify Operation Create",
"description": "Notify for create operation.",
"default": true
},
"notifyForOperationUpdate": {
"type": "boolean",
"title": "Notify Operation Update",
"description": "Notify for update operation.",
"default": false
},
"notifyForOperationDelete": {
"type": "boolean",
"title": "Notify Operation Delete",
"description": "Notify for delete operation.",
"default": false
},
"notifyForOperationUndelete": {
"type": "boolean",
"title": "Notify Operation Undelete",
"description": "Notify for undelete operation.",
"default": false
},
"operation": {
"type": "string",
"title": "Operation",
"description": "The operation to use",
"default": "subscribe"
},
"rawPayload": {
"type": "boolean",
"title": "Raw Payload",
"description": "Use raw payload String for request and response (either JSON or XML depending on format), instead of DTOs, false by default.",
"default": false
},
"replayId": {
"type": "long",
"title": "Replay Id",
"description": "The replayId value to use when subscribing to the Streaming API."
}
}
}
}