This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-spring-boot.git
The following commit(s) were added to refs/heads/main by this push: new 3b6f49aadd5 Regen 3b6f49aadd5 is described below commit 3b6f49aadd5a544ae0d6185eced82a66e54fcd6c Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue Mar 11 07:10:34 2025 +0100 Regen --- .../springboot/catalog/components/salesforce.json | 81 +++++++++++----------- .../src/main/docs/salesforce.json | 7 ++ .../SalesforceComponentConfiguration.java | 13 ++++ 3 files changed, 61 insertions(+), 40 deletions(-) diff --git a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/salesforce.json b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/salesforce.json index 5f6c5155697..813f9336bb7 100644 --- a/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/salesforce.json +++ b/catalog/camel-catalog-provider-springboot/src/main/resources/org/apache/camel/springboot/catalog/components/salesforce.json @@ -87,46 +87,47 @@ "pubSubDeserializeType": { "index": 59, "kind": "property", "displayName": "Pub Sub Deserialize Type", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "org.apache.camel.component.salesforce.PubSubDeserializeType", "enum": [ "AVRO", "SPECIFIC_RECORD", "GENERIC_RECORD", "POJO", "JSON" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "AVRO", "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpo [...] "pubSubPojoClass": { "index": 60, "kind": "property", "displayName": "Pub Sub Pojo Class", "group": "consumer", "label": "consumer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Fully qualified class name to deserialize Pub\/Sub API event to." }, "replayPreset": { "index": 61, "kind": "property", "displayName": "Replay Preset", "group": "consumer", "label": "consumer", "required": false, "type": "object", "javaType": "com.salesforce.eventbus.protobuf.ReplayPreset", "enum": [ "LATEST", "EARLIEST", "CUSTOM" ], "deprecated": false, "autowired": false, "secret": false, "defaultValue": "LATEST", "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "R [...] - "allOrNone": { "index": 62, "kind": "property", "displayName": "All Or None", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Composite API option to indicate to rollback all records if any are not successful." }, - "apexUrl": { "index": 63, "kind": "property", "displayName": "Apex Url", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "APEX method URL" }, - "compositeMethod": { "index": 64, "kind": "property", "displayName": "Composite Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Composite (raw) method." }, - "eventName": { "index": 65, "kind": "property", "displayName": "Event Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Name of Platform Event, Change Data Capture Event, custom event, etc." }, - "eventSchemaFormat": { "index": 66, "kind": "property", "displayName": "Event Schema Format", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.salesforce.internal.dto.EventSchemaFormatEnum", "enum": [ "EXPANDED", "COMPACT" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": [...] - "eventSchemaId": { "index": 67, "kind": "property", "displayName": "Event Schema Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "The ID of the event schema." }, - "lazyStartProducer": { "index": 68, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fai [...] - "rawHttpHeaders": { "index": 69, "kind": "property", "displayName": "Raw Http Headers", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Comma separated list of message headers to include as HTTP parameters for Raw operation." }, - "rawMethod": { "index": 70, "kind": "property", "displayName": "Raw Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "HTTP method to use for the Raw operation" }, - "rawPath": { "index": 71, "kind": "property", "displayName": "Raw Path", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "The portion of the endpoint URL after the domain name. E.g., '\/services\/data\/v52.0\/sobjects\/Account\/'" }, - "rawQueryParameters": { "index": 72, "kind": "property", "displayName": "Raw Query Parameters", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Comma separated list of message headers to include as query parameters for Raw operatio [...] - "autowiredEnabled": { "index": 73, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching [...] - "httpProxyExcludedAddresses": { "index": 74, "kind": "property", "displayName": "Http Proxy Excluded Addresses", "group": "proxy", "label": "common,proxy", "required": false, "type": "object", "javaType": "java.util.Set<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "A list of addresses for which HTTP proxy server should not be used." }, - "httpProxyHost": { "index": 75, "kind": "property", "displayName": "Http Proxy Host", "group": "proxy", "label": "common,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Hostname of the HTTP proxy server to use." }, - "httpProxyIncludedAddresses": { "index": 76, "kind": "property", "displayName": "Http Proxy Included Addresses", "group": "proxy", "label": "common,proxy", "required": false, "type": "object", "javaType": "java.util.Set<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "A list of addresses for which HTTP proxy server should be used." }, - "httpProxyPort": { "index": 77, "kind": "property", "displayName": "Http Proxy Port", "group": "proxy", "label": "common,proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Port number of the HTTP proxy server to use." }, - "httpProxySocks4": { "index": 78, "kind": "property", "displayName": "Http Proxy Socks4", "group": "proxy", "label": "common,proxy", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If set to true the configures the HTTP proxy to use as a SOCKS4 proxy." }, - "pubsubAllowUseSystemProxy": { "index": 79, "kind": "property", "displayName": "Pubsub Allow Use System Proxy", "group": "proxy", "label": "common,proxy", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allow the Pub\/Sub API client to use the proxy detected by java.net.ProxySelector. If false then no proxy server will be used." }, - "authenticationType": { "index": 80, "kind": "property", "displayName": "Authentication Type", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.component.salesforce.AuthenticationType", "enum": [ "USERNAME_PASSWORD", "REFRESH_TOKEN", "CLIENT_CREDENTIALS", "JWT" ], "deprecated": false, "autowired": false, "secret": false, "description": "Explicit authentication method to be used, one of USERNAME_PASSWORD, REFRESH_TOKEN [...] - "clientId": { "index": 81, "kind": "property", "displayName": "Client Id", "group": "security", "label": "common,security", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth Consumer Key of the connected app configured in the Salesforce instance setup. Typically a connected app needs to be configured but one can be provided by installing a package." }, - "clientSecret": { "index": 82, "kind": "property", "displayName": "Client Secret", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth Consumer Secret of the connected app configured in the Salesforce instance setup." }, - "httpProxyAuthUri": { "index": 83, "kind": "property", "displayName": "Http Proxy Auth Uri", "group": "security", "label": "common,proxy,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Used in authentication against the HTTP proxy server, needs to match the URI of the proxy server in order for the httpProxyUsername and httpProxyPassword to be used for authentication." }, - "httpProxyPassword": { "index": 84, "kind": "property", "displayName": "Http Proxy Password", "group": "security", "label": "common,proxy,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Password to use to authenticate against the HTTP proxy server." }, - "httpProxyRealm": { "index": 85, "kind": "property", "displayName": "Http Proxy Realm", "group": "security", "label": "common,proxy,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Realm of the proxy server, used in preemptive Basic\/Digest authentication methods against the HTTP proxy server." }, - "httpProxySecure": { "index": 86, "kind": "property", "displayName": "Http Proxy Secure", "group": "security", "label": "common,proxy,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If set to false disables the use of TLS when accessing the HTTP proxy." }, - "httpProxyUseDigestAuth": { "index": 87, "kind": "property", "displayName": "Http Proxy Use Digest Auth", "group": "security", "label": "common,proxy,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If set to true Digest authentication will be used when authenticating to the HTTP proxy, otherwise Basic authorization method will be used" }, - "httpProxyUsername": { "index": 88, "kind": "property", "displayName": "Http Proxy Username", "group": "security", "label": "common,proxy,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Username to use to authenticate against the HTTP proxy server." }, - "instanceUrl": { "index": 89, "kind": "property", "displayName": "Instance Url", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "URL of the Salesforce instance used after authentication, by default received from Salesforce on successful authentication" }, - "jwtAudience": { "index": 90, "kind": "property", "displayName": "Jwt Audience", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Value to use for the Audience claim (aud) when using OAuth JWT flow. If not set, the login URL will be used, which is appropriate in most cases." }, - "keystore": { "index": 91, "kind": "property", "displayName": "Keystore", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.KeyStoreParameters", "deprecated": false, "autowired": false, "secret": false, "description": "KeyStore parameters to use in OAuth JWT flow. The KeyStore should contain only one entry with private key and certificate. Salesforce does not verify the certificate chain, so this can easil [...] - "lazyLogin": { "index": 92, "kind": "property", "displayName": "Lazy Login", "group": "security", "label": "common,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If set to true prevents the component from authenticating to Salesforce with the start of the component. You would generally set this to the (default) false and authenticate early and be immediately aware [...] - "loginConfig": { "index": 93, "kind": "property", "displayName": "Login Config", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.component.salesforce.SalesforceLoginConfig", "deprecated": false, "autowired": false, "secret": false, "description": "All authentication configuration in one nested bean, all properties set there can be set directly on the component as well" }, - "loginUrl": { "index": 94, "kind": "property", "displayName": "Login Url", "group": "security", "label": "common,security", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "https:\/\/login.salesforce.com", "description": "URL of the Salesforce instance used for authentication, by default set to https:\/\/login.salesforce.com" }, - "password": { "index": 95, "kind": "property", "displayName": "Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Password used in OAuth flow to gain access to access token. It's easy to get started with password OAuth flow, but in general one should avoid it as it is deemed less secure than other flows. Make sure that you append secur [...] - "pubSubHost": { "index": 96, "kind": "property", "displayName": "Pub Sub Host", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "api.pubsub.salesforce.com", "description": "Pub\/Sub host" }, - "pubSubPort": { "index": 97, "kind": "property", "displayName": "Pub Sub Port", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 7443, "description": "Pub\/Sub port" }, - "refreshToken": { "index": 98, "kind": "property", "displayName": "Refresh Token", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Refresh token already obtained in the refresh token OAuth flow. One needs to setup a web application and configure a callback URL to receive the refresh token, or configure using the builtin callback at https:\/\/l [...] - "sslContextParameters": { "index": 99, "kind": "property", "displayName": "Ssl Context Parameters", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "SSL parameters to use, see SSLContextParameters class for all available options." }, - "useGlobalSslContextParameters": { "index": 100, "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable usage of global SSL context parameters" }, - "userName": { "index": 101, "kind": "property", "displayName": "User Name", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Username used in OAuth flow to gain access to access token. It's easy to get started with password OAuth flow, but in general one should avoid it as it is deemed less secure than other flows." } + "initialReplyIdTimeout": { "index": 62, "kind": "property", "displayName": "Initial Reply Id Timeout", "group": "consumer (advanced)", "label": "consumer,advanced", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 30, "description": "Timeout in seconds to validate when a custom pubSubReplayId has been configured, when starting the Camel Salesforce consumer." }, + "allOrNone": { "index": 63, "kind": "property", "displayName": "All Or None", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Composite API option to indicate to rollback all records if any are not successful." }, + "apexUrl": { "index": 64, "kind": "property", "displayName": "Apex Url", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "APEX method URL" }, + "compositeMethod": { "index": 65, "kind": "property", "displayName": "Composite Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Composite (raw) method." }, + "eventName": { "index": 66, "kind": "property", "displayName": "Event Name", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Name of Platform Event, Change Data Capture Event, custom event, etc." }, + "eventSchemaFormat": { "index": 67, "kind": "property", "displayName": "Event Schema Format", "group": "producer", "label": "producer", "required": false, "type": "object", "javaType": "org.apache.camel.component.salesforce.internal.dto.EventSchemaFormatEnum", "enum": [ "EXPANDED", "COMPACT" ], "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": [...] + "eventSchemaId": { "index": 68, "kind": "property", "displayName": "Event Schema Id", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "The ID of the event schema." }, + "lazyStartProducer": { "index": 69, "kind": "property", "displayName": "Lazy Start Producer", "group": "producer", "label": "producer", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fai [...] + "rawHttpHeaders": { "index": 70, "kind": "property", "displayName": "Raw Http Headers", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Comma separated list of message headers to include as HTTP parameters for Raw operation." }, + "rawMethod": { "index": 71, "kind": "property", "displayName": "Raw Method", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "HTTP method to use for the Raw operation" }, + "rawPath": { "index": 72, "kind": "property", "displayName": "Raw Path", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "The portion of the endpoint URL after the domain name. E.g., '\/services\/data\/v52.0\/sobjects\/Account\/'" }, + "rawQueryParameters": { "index": 73, "kind": "property", "displayName": "Raw Query Parameters", "group": "producer", "label": "producer", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "configurationClass": "org.apache.camel.component.salesforce.SalesforceEndpointConfig", "configurationField": "config", "description": "Comma separated list of message headers to include as query parameters for Raw operatio [...] + "autowiredEnabled": { "index": 74, "kind": "property", "displayName": "Autowired Enabled", "group": "advanced", "label": "advanced", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching [...] + "httpProxyExcludedAddresses": { "index": 75, "kind": "property", "displayName": "Http Proxy Excluded Addresses", "group": "proxy", "label": "common,proxy", "required": false, "type": "object", "javaType": "java.util.Set<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "A list of addresses for which HTTP proxy server should not be used." }, + "httpProxyHost": { "index": 76, "kind": "property", "displayName": "Http Proxy Host", "group": "proxy", "label": "common,proxy", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Hostname of the HTTP proxy server to use." }, + "httpProxyIncludedAddresses": { "index": 77, "kind": "property", "displayName": "Http Proxy Included Addresses", "group": "proxy", "label": "common,proxy", "required": false, "type": "object", "javaType": "java.util.Set<java.lang.String>", "deprecated": false, "autowired": false, "secret": false, "description": "A list of addresses for which HTTP proxy server should be used." }, + "httpProxyPort": { "index": 78, "kind": "property", "displayName": "Http Proxy Port", "group": "proxy", "label": "common,proxy", "required": false, "type": "integer", "javaType": "java.lang.Integer", "deprecated": false, "autowired": false, "secret": false, "description": "Port number of the HTTP proxy server to use." }, + "httpProxySocks4": { "index": 79, "kind": "property", "displayName": "Http Proxy Socks4", "group": "proxy", "label": "common,proxy", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If set to true the configures the HTTP proxy to use as a SOCKS4 proxy." }, + "pubsubAllowUseSystemProxy": { "index": 80, "kind": "property", "displayName": "Pubsub Allow Use System Proxy", "group": "proxy", "label": "common,proxy", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "Allow the Pub\/Sub API client to use the proxy detected by java.net.ProxySelector. If false then no proxy server will be used." }, + "authenticationType": { "index": 81, "kind": "property", "displayName": "Authentication Type", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.component.salesforce.AuthenticationType", "enum": [ "USERNAME_PASSWORD", "REFRESH_TOKEN", "CLIENT_CREDENTIALS", "JWT" ], "deprecated": false, "autowired": false, "secret": false, "description": "Explicit authentication method to be used, one of USERNAME_PASSWORD, REFRESH_TOKEN [...] + "clientId": { "index": 82, "kind": "property", "displayName": "Client Id", "group": "security", "label": "common,security", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "OAuth Consumer Key of the connected app configured in the Salesforce instance setup. Typically a connected app needs to be configured but one can be provided by installing a package." }, + "clientSecret": { "index": 83, "kind": "property", "displayName": "Client Secret", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "OAuth Consumer Secret of the connected app configured in the Salesforce instance setup." }, + "httpProxyAuthUri": { "index": 84, "kind": "property", "displayName": "Http Proxy Auth Uri", "group": "security", "label": "common,proxy,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Used in authentication against the HTTP proxy server, needs to match the URI of the proxy server in order for the httpProxyUsername and httpProxyPassword to be used for authentication." }, + "httpProxyPassword": { "index": 85, "kind": "property", "displayName": "Http Proxy Password", "group": "security", "label": "common,proxy,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Password to use to authenticate against the HTTP proxy server." }, + "httpProxyRealm": { "index": 86, "kind": "property", "displayName": "Http Proxy Realm", "group": "security", "label": "common,proxy,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Realm of the proxy server, used in preemptive Basic\/Digest authentication methods against the HTTP proxy server." }, + "httpProxySecure": { "index": 87, "kind": "property", "displayName": "Http Proxy Secure", "group": "security", "label": "common,proxy,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": true, "description": "If set to false disables the use of TLS when accessing the HTTP proxy." }, + "httpProxyUseDigestAuth": { "index": 88, "kind": "property", "displayName": "Http Proxy Use Digest Auth", "group": "security", "label": "common,proxy,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If set to true Digest authentication will be used when authenticating to the HTTP proxy, otherwise Basic authorization method will be used" }, + "httpProxyUsername": { "index": 89, "kind": "property", "displayName": "Http Proxy Username", "group": "security", "label": "common,proxy,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Username to use to authenticate against the HTTP proxy server." }, + "instanceUrl": { "index": 90, "kind": "property", "displayName": "Instance Url", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "URL of the Salesforce instance used after authentication, by default received from Salesforce on successful authentication" }, + "jwtAudience": { "index": 91, "kind": "property", "displayName": "Jwt Audience", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Value to use for the Audience claim (aud) when using OAuth JWT flow. If not set, the login URL will be used, which is appropriate in most cases." }, + "keystore": { "index": 92, "kind": "property", "displayName": "Keystore", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.KeyStoreParameters", "deprecated": false, "autowired": false, "secret": false, "description": "KeyStore parameters to use in OAuth JWT flow. The KeyStore should contain only one entry with private key and certificate. Salesforce does not verify the certificate chain, so this can easil [...] + "lazyLogin": { "index": 93, "kind": "property", "displayName": "Lazy Login", "group": "security", "label": "common,security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "If set to true prevents the component from authenticating to Salesforce with the start of the component. You would generally set this to the (default) false and authenticate early and be immediately aware [...] + "loginConfig": { "index": 94, "kind": "property", "displayName": "Login Config", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.component.salesforce.SalesforceLoginConfig", "deprecated": false, "autowired": false, "secret": false, "description": "All authentication configuration in one nested bean, all properties set there can be set directly on the component as well" }, + "loginUrl": { "index": 95, "kind": "property", "displayName": "Login Url", "group": "security", "label": "common,security", "required": true, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "https:\/\/login.salesforce.com", "description": "URL of the Salesforce instance used for authentication, by default set to https:\/\/login.salesforce.com" }, + "password": { "index": 96, "kind": "property", "displayName": "Password", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Password used in OAuth flow to gain access to access token. It's easy to get started with password OAuth flow, but in general one should avoid it as it is deemed less secure than other flows. Make sure that you append secur [...] + "pubSubHost": { "index": 97, "kind": "property", "displayName": "Pub Sub Host", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "defaultValue": "api.pubsub.salesforce.com", "description": "Pub\/Sub host" }, + "pubSubPort": { "index": 98, "kind": "property", "displayName": "Pub Sub Port", "group": "security", "label": "common,security", "required": false, "type": "integer", "javaType": "int", "deprecated": false, "autowired": false, "secret": false, "defaultValue": 7443, "description": "Pub\/Sub port" }, + "refreshToken": { "index": 99, "kind": "property", "displayName": "Refresh Token", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": true, "description": "Refresh token already obtained in the refresh token OAuth flow. One needs to setup a web application and configure a callback URL to receive the refresh token, or configure using the builtin callback at https:\/\/l [...] + "sslContextParameters": { "index": 100, "kind": "property", "displayName": "Ssl Context Parameters", "group": "security", "label": "common,security", "required": false, "type": "object", "javaType": "org.apache.camel.support.jsse.SSLContextParameters", "deprecated": false, "autowired": false, "secret": false, "description": "SSL parameters to use, see SSLContextParameters class for all available options." }, + "useGlobalSslContextParameters": { "index": 101, "kind": "property", "displayName": "Use Global Ssl Context Parameters", "group": "security", "label": "security", "required": false, "type": "boolean", "javaType": "boolean", "deprecated": false, "autowired": false, "secret": false, "defaultValue": false, "description": "Enable usage of global SSL context parameters" }, + "userName": { "index": 102, "kind": "property", "displayName": "User Name", "group": "security", "label": "common,security", "required": false, "type": "string", "javaType": "java.lang.String", "deprecated": false, "autowired": false, "secret": false, "description": "Username used in OAuth flow to gain access to access token. It's easy to get started with password OAuth flow, but in general one should avoid it as it is deemed less secure than other flows." } }, "headers": { "CamelSalesforceReplayId": { "index": 0, "kind": "header", "displayName": "", "group": "consumer", "label": "consumer", "required": false, "javaType": "Object", "deprecated": false, "deprecationNote": "", "autowired": false, "secret": false, "description": "The Streaming API replayId.", "constantName": "org.apache.camel.component.salesforce.SalesforceConstants#HEADER_SALESFORCE_REPLAY_ID" }, diff --git a/components-starter/camel-salesforce-starter/src/main/docs/salesforce.json b/components-starter/camel-salesforce-starter/src/main/docs/salesforce.json index 6857e8b19e3..3114a82b6bb 100644 --- a/components-starter/camel-salesforce-starter/src/main/docs/salesforce.json +++ b/components-starter/camel-salesforce-starter/src/main/docs/salesforce.json @@ -284,6 +284,13 @@ "description": "Replay IDs to start from per channel name.", "sourceType": "org.apache.camel.component.salesforce.springboot.SalesforceComponentConfiguration" }, + { + "name": "camel.component.salesforce.initial-reply-id-timeout", + "type": "java.lang.Integer", + "description": "Timeout in seconds to validate when a custom pubSubReplayId has been configured, when starting the Camel Salesforce consumer.", + "sourceType": "org.apache.camel.component.salesforce.springboot.SalesforceComponentConfiguration", + "defaultValue": 30 + }, { "name": "camel.component.salesforce.instance-id", "type": "java.lang.String", diff --git a/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java b/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java index eab47dd12cc..e06918ad6cb 100644 --- a/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java +++ b/components-starter/camel-salesforce-starter/src/main/java/org/apache/camel/component/salesforce/springboot/SalesforceComponentConfiguration.java @@ -360,6 +360,11 @@ public class SalesforceComponentConfiguration * Replay preset for Pub/Sub API. */ private ReplayPreset replayPreset = ReplayPreset.LATEST; + /** + * Timeout in seconds to validate when a custom pubSubReplayId has been + * configured, when starting the Camel Salesforce consumer. + */ + private Integer initialReplyIdTimeout = 30; /** * Composite API option to indicate to rollback all records if any are not * successful. @@ -1079,6 +1084,14 @@ public class SalesforceComponentConfiguration this.replayPreset = replayPreset; } + public Integer getInitialReplyIdTimeout() { + return initialReplyIdTimeout; + } + + public void setInitialReplyIdTimeout(Integer initialReplyIdTimeout) { + this.initialReplyIdTimeout = initialReplyIdTimeout; + } + public Boolean getAllOrNone() { return allOrNone; }